{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "# 多层神经网络\n",
    "![](picture/神经网络.png)\n",
    "![](picture/神经网络2.png)\n",
    "![](picture/神经网络3.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "source": [
    "## 利用正向传播激活神经网络\n",
    "![](picture/正向传播算法.png)\n",
    "![](picture/正向传播算法2.png)\n",
    "![](picture/正向传播算法3.png)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "## 用正向传播算法进行手写数字识别\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "outputs": [],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "import struct\n",
    "\n",
    "\n",
    "def load_mnist(path, kind='train'):\n",
    "    \"\"\"Load MNIST data from `path`\"\"\"\n",
    "    labels_path = os.path.join(path,\n",
    "                               '%s-labels-idx1-ubyte' % kind)\n",
    "    images_path = os.path.join(path,\n",
    "                               '%s-images-idx3-ubyte' % kind)\n",
    "\n",
    "    with open(labels_path, 'rb') as lbpath:\n",
    "        magic, n = struct.unpack('>II',\n",
    "                                 lbpath.read(8))  #解压出字符串格式的数值，返回元组\n",
    "        labels = np.fromfile(lbpath,\n",
    "                             dtype=np.uint8)  #从二进制文件中读取数据生成数组\n",
    "\n",
    "    with open(images_path, 'rb') as imgpath:\n",
    "        magic, num, rows, cols = struct.unpack(\">IIII\",  #这是大端字节序，它定义一串字节存储的顺序。lbpath.read(8)读取到的是二进制的字符串\n",
    "                                               imgpath.read(16))\n",
    "        images = np.fromfile(imgpath,\n",
    "                             dtype=np.uint8).reshape(len(labels), 784)\n",
    "        images = ((images / 255.) - .5) * 2  #标准化\n",
    "\n",
    "    return images, labels"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Rows: 60000, columns: 784\n"
     ]
    }
   ],
   "source": [
    "X_train, y_train = load_mnist('data/', kind='train')\n",
    "print('Rows: %d, columns: %d' % (X_train.shape[0], X_train.shape[1]))"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Rows: 10000, columns: 784\n"
     ]
    }
   ],
   "source": [
    "X_test, y_test = load_mnist('data/', kind='t10k')\n",
    "print('Rows: %d, columns: %d' % (X_test.shape[0], X_test.shape[1]))"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 10 Axes>",
      "image/png": "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\n"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "fig, ax = plt.subplots(nrows=2, ncols=5, sharex=True, sharey=True)\n",
    "ax = ax.flatten()\n",
    "for i in range(10):\n",
    "    img = X_train[y_train == i][0].reshape(28, 28)\n",
    "    ax[i].imshow(img, cmap=\"gray\")\n",
    "ax[0].set_xticks([])\n",
    "ax[0].set_yticks([])\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 25 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEYCAYAAABbd527AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAByZklEQVR4nO2dd3Dcx5XnP7/fZMwAg5xzziRIAgxgJiUqW8GyLcuW7bVvd23v2nfru/NW7d6dd+821Jbtq7v1es8+r5wUKMtWsBItijmCAEESIAACGOScgcFgMHnuD978RIiZyJz+VLGKHMwM+vfY/e3Xr1+/lvx+PwKBQCAIHuTlboBAIBAIlhYh/AKBQBBkCOEXCASCIEMIv0AgEAQZQvgFAoEgyFDfzZslSVoVKUB+v19a7jbcDGHD+bFa7AeM+v3+mOVuxI0QNpw/q8WGNxvHwuMXCBaHruVuwH2AsOEiIYRfIBAIggwh/AKBQBBkCOEXCASCIEMIv0AgEAQZQvgFAoEgyBDCLxAIBEGGEH6BQCAIMoTwCwQCQZBxVyd3F4uUlBRSUlKQZRmTyURoaCj5+fmoVCr8fj/j4+OcOXOGmpqa5W6qYAUjyzKyLBMSEqL8OzExUXk9PDwcWb6xr+Pz+fB4PDQ1NTE7O4vT6UTcVXFnSJKE0WgkLi6O+Ph4cnJyMJlMSJLE/v37sVqtOJ3O5W7msqFWq1mzZg1q9c3lVpIk9Ho9GRkZJCYmcuzYMdxuN16vl/b2dmZmZhbUhssi/Gq1GlmWkSQJtVpNfn4+mzZtQqPREB0dTXx8PI888ggajQafz0dHRwdqtZqWlhasVutyNHlVIUkSkjT3pLbP51um1iwdOp0Ok8lEbGys0rfWrl2LWq1GpVKRmpp6S+F3OBw4HA5GR0eZnJzEZrMFhd3ulkD/0mg0qNVqNBoN8fHxFBQUUFJSwt69e4mNjUWWZQ4dOoTT6Qw64Q/YR6PRYDKZ2LZtGzqd7obvCxAREcGWLVtYu3YtWq1WcUA8Hg8jIyOMj4/jcrnw+Xzzdkqku/mChahPoVarWb9+PQkJCcTHx7N+/XpKS0spLCwEPvbaNBoNkiTh9/vxeDwMDg7S2trK008/zfT09C1/x0qtMwOLX+Mj4NmGh4crr/l8PgYHBxUP4k5YqTa8lf2efPJJnnnmGfbt24dWqwVApVIpP7/27zfC7/fjdrtpaWnh0qVLfO9732NsbAyHw3EvTT3v9/s33MsHF5v59sHQ0FAiIyPZuXMna9asobi4mHXr1qHValGr1ajVarxeL6Ojo+zcuZOBgQHsdvu9/KpVaUODwYDZbKayspIdO3awdetWsrKybup0XItWq0WlUuF0OvH5fPh8PgYGBrh06RK1tbW89957DAwMMDY2dkftvNk4XlSP32g0UlxcTGFhoSJEarWazMxMRZySkpIICQlhcnKS+Pj4OTNgYFJSq9WYTCYiIyOv82RXI9HR0YSHh9Pe3n7PHqVWqyUqKoqYmBiKioqUiVKtVhMfH098fLzyXpfLxYcffkhzczOdnZ0L9BQrD51OR2ho6D2HalQqFfHx8WRkZCDLMmlpaXg8nnsV/vsKo9FIeHg45eXlpKenk5qaSk5ODuHh4YSGhmKxWJT+V1payuTkJJ2dnUxPT+NyuZa7+UtKQUEBFRUV7Nq1i+zsbFJTUwkJCblOu26kdYHX9Xq98npCQgKSJBETE0NkZCQWiwWLxcLZs2eVCeJuWRThD3jsCQkJ7Ny5kyeffJKkpCQkSVLi+FqtFo1Gw/T0NP39/fT29qLT6ZQwUEhIyJwZMvDZ+4Hw8HDS09Pp7Oy84/+0wNJRkiRUKhVms5mcnBzy8/P51Kc+hU6nU1ZI6enppKWlKR5uQLhcLtd9Lfwul4uZmRlaW1uVleKdIssyWq2WiIgIIiIilHjr2NgYQ0NDi9jqlYssy6hUKkJCQoiLiyM1NZXPfOYzFBYWkpmZid/vZ2JiguHhYU6ePInf78doNFJYWMjo6CgWi4WZmZm7+n+4H8jLy+PJJ59k586dc+L6Ho8Ht9t9ncgD1zkpgUlUrVZjNBrJysoiMzOT7OxsmpqauHTpEo2NjUxOTt5TGG1RhD81NZWCggK+973vkZKSQlRU1HUiDjA9Pc3TTz/NwMAADoeDqKgowsLCiI2N5W//9m+Ji4vDZDIBMD4+Pi8PeSXR3d3N4ODgHQ+IkJAQzGYzmzZtIjY2lri4ODZs2EBWVhapqalotVqGhobo7e3l6NGjjI6OYrPZKCoqQqVSodPp+OpXv8rQ0BBHjhxZ5KdbPv7whz9w4sQJfD4fXq/3jsNacFXkzGYzP/vZzygoKCA6OpoNGzbQ399Pc3PzIrZ65ZKcnKyM49jYWEJDQwkLC+Py5cu8+uqrvP/++3R1ddHf34/NZiM2Npbs7Gyef/55xsbGsFgsd/V/cL8QFRWlrBqv5dy5c5w6dYrJyck70rHKykoqKysJDw9X9lUSExOJjY1l7dq1nDx5krq6unty5hZF+NPT09m+fTupqamEhYUpnqff78fhcHDq1CnFk2ppaWF6ehqPx4PVaqW0tJTU1FRCQ0PRarX4/X6sVis1NTV88MEH98Wy0ePx3NUEtm7dOnbs2MGaNWsICwvDaDSSlJREZGQkBoMBi8XCuXPnOHfuHA0NDeTn52Oz2cjPz1firS0tLYyMjCziUy0/DodjzubX3YR61Go1ISEhJCQkEBYWpthsfHx8EVu8stHr9ZhMJhwOB2NjY4yNjdHR0cHFixe5ePEiTU1NTE1NKeM3YH8Ar9cbdBu6ARoaGvjd737H7t27SUlJIS4uDri6eZucnMzJkyeZmpq6bQixo6ODkydPkpCQwJYtW6ioqABAo9Gg0+nQaDS33be6GQsu/Gq1mqysLCorK4mIiFCWOj6fj9nZWcbHx3nvvfewWCz09fUxODioeAV2u53Q0FBlT0Cr1eLz+RgdHaWmpoZ33nkHt9u90E1ecgKbNnfK2rVreeGFF8jMzESWZcWWgVTX2tpaPvjgAz788EPsdjsul4vQ0FC8Xq+yYVlTU0NfX98iPtXyc7d2vZbAyiglJYWwsDCmp6e5cuXKfT9Z3opA5l17ezuSJDEzM8NHH31EQ0MDbW1t102sGo0Gg8GAJElK2C0YU2Lr6uoYGxtDp9NRUVFBWFgYWq2W6OhocnNz6evro6enh4mJiVv215qaGmRZJj09HY1Gowh/wKmZT3bPggq/Wq1m06ZNVFRUUFpaqoi+3+9ncHCQt99+mzfeeINz584pntknl4Imk4m4uDhlmeR2uzl69KgSzwrGjgQfr5bGxsbo7u7mZz/7GT09PQwPD9Pb24vD4UCSJF544QX27dvHzp070ev1TE1N0dvby49//GN6e3uX+zEEq4iWlhba2tr44IMPgI+zngIOxSeprKzk+eefR6fTUVdXx29/+9v7YoV+t4yPjzM5Ocnf/M3fsGXLFrZt28ajjz5KfHw8+fn5PPHEE1RXV1NXV0d/f/9da9rs7CxjY2NMTEwwOzt7T21ccOHfunUr2dnZyq601WpldHSUgwcPcvz4cVpaWrDb7XMeVq1Wo9PpSE9PJy8vj7S0NGRZxmq1MjQ0RGNjI8PDw0Er+q2trbz//vt4vV5GRkYYHBzk3LlzWK1WbDYb09PTREVFkZyczL59+yguLsZkMmG1Wjl9+jTHjh2bT0pdUBATE0Nubu49L53vRwIrqDtdZRsMBqKjo5FlOahDPX6/H6/Xi81mUw4Ejo+Ps3nzZtasWUNOTg5dXV3KiupWuqZWqykrKyMxMVF5bWxsjNbWVnp7e2+b2n7T772nT93sy/5/Klcg/cjj8TA0NERTUxNvv/02V65cuWG4Qa/XExERQXl5OcXFxaSkpOD3+5XPNjU1BfWSu7m5GafTSU9PD2NjY0xOTs75uU6nIzk5mQ0bNrBz505CQ0Px+/309vZy/PhxXnnlFcbHx4N24rwTAsvwwEAMiF5gKa7RaG76Wa/Xe18kHcwXvV6P0Wics7EezH3O5/PR1dVFd3c3FosFu92OwWBQ9uZutnIKIEkSWq2WiooKkpOTlQmlv7+f+vp6+vr6VobH73K5eOONN5QUI5vNxhtvvMGbb75Jf3//TbNYSktL2bVrF9/+9rcJDQ1FlmXa29v51a9+xauvvnrLzwYD3d3d9Pb23jCmp9Pp+NKXvsSDDz7I9u3bCQ8PZ3p6moGBAb7+9a/T1tbG0NBQUA/AO0Gv1xMWFoYsy0xPT9Pb20tXVxdTU1PKSlav19/w2H1zczMtLS3L0OqVh9frpbGxkd7eXmZmZpa7OSsCv99Pf38/L774Ir/+9a+BqyFsl8t1y3EZGRlJeno6e/fuJTU1Fa/XS21tLa+++iqvvfbavM6XLKjwezwe6urqmJ6e5sKFCzidThobGxkZGblhrE+WZTIzM9m4cSN79uxRMoAcDgc1NTVKJkowxgmv5WabllFRUaSkpPDwww9TWFhIWFgYU1NT1NXVUV1dTXt7+x2njgUTkiQRGRmJSqVSNnXXrFnDpk2bUKvVSJJEdHQ0X//615UNypycHLRarbJxabPZmJqawmKx0NPTs9yPtOyEhoYSHh6uHDCamZkR/e4a/H7/XZeuKC0t5eGHHyYxMZGQkBA8Hg9VVVW0tLTMe79zQYXf5/PR0tJyx95PoJbK5s2b2bJlC2q1GqfTidVq5ezZs7S1tQmv4SZoNJo54R2TyYTP56O3t5eqqiref/99hoeHg3qlFDjsFigDEhB1tVpNRkaGkhJnNpupqKhQhF+tVhMTE8PXv/71OaGeQDLCzMwM/f399PT00NvbG/T7ArIsExkZqZwsHRkZwWaziVXmPNBqtaxbt45nn32W6OhoJElienqaqqoqOjo65u0ML2t1zpCQEH74wx8SExOjLKGPHj3KO++8w8svvyw2I29CIPTw2c9+lqeeekpJP+zv7+cb3/gG7e3tQS/6gdTC9evXExsbS2xsLBUVFURGRhIeHk5mZiY6nQ6VSqXEUq+tDwVXvbTp6WkmJyc5c+YMzc3Nioc/OjrK+Pg4brc7qO0MV/vjzp07ycnJwefzsX//fi5evLjczVq1aLVaHn30UcrLy4mLi0OSJMbGxmhvb+cPf/jDdXt898KyCX9mZialpaWEh4ej0+mUwTYyMkJzczOzs7NBeervdkRFRZGUlMTzzz/P+vXrMZvNTE5OcvbsWU6cOEFbWxuTk5NBLUYGg4EtW7ZQWVmplAg2Go2kpqZiMBiUZIKApx7wTgMnyi9fvsylS5eUjIzZ2Vm6u7sZGRlhdHQUq9WK3W4XNXz+PyqVioyMDMLDw/H5fIyMjAin7R7RaDSEhYWxY8cOsrKyUKlU2Gw2zp07x0cffbRgIbRlE/7s7Gx2796tVFGEqwe4hoeH6erqEvHBG6DRaEhKSmL9+vU8++yzSninr6+Po0eP8uqrrzI4OBjUS2xJkjAYDGzdupVvfvObREVF4fV68Xg8Sv2eQKodXA1PDg0NKQXvJEmirq6Ol156icOHDwf1BHqnyLKsHHxzu93zyi8PdkJCQoiNjaWyspK0tDQkSWJ8fJyzZ8/y+uuvL9h+57IIf6B+d15enrK0ttvt/NM//ROHDx+mu7tbCP8nUKvVbN++nc985jM8+eSTykUXdrudb3/72zQ3Nwe96MPHh4xmZ2ex2WxERkZSU1PD2bNnmZiYoL6+nsuXL8/pX3q9ni9/+ct86UtfIjo6mv7+fi5cuCBWnHdIYDN8dnaW5uZm+vr67jm/PNipqKjg0UcfJT8/H4PBgNPp5N133+XcuXMMDAws2PheUuEPVEAsKiqiqKiI7OxsZFlmaGiIjo4Oqqqq6OnpEV7WJ9DpdISHh7N3716Ki4sxm83Y7XalbrzFYhHZO9fgdDppamrivffeIy4ujtraWmpra7FarQwODl53GFCj0SiF7aKiopTbuAR3RqBybiDPXPTDu0elUlFcXMzmzZuprKxEr9fjcrmUkix9fX0L6tQtqfAbDAbCw8PZtGkTpaWlpKWlMTs7q4j+pUuXFmTj4n5CkiTMZjNpaWns2bNHOdU8MjLC6dOnee+995RLVgRXcblcNDQ04HQ6CQ0NVfLsb7ZMnp2dZXp6+roT5YI7I5ApdbtTqIKbo9Fo2LBhAxs3bmT9+vVKiKe3t5eLFy8yODi4oL9vyYTfaDTy6KOP8vjjj/PII49gNBqZnZ3lBz/4AceOHePcuXNi4H0CSZIIDw/nS1/6El/96lfJyMjAbrfT3t7OX//1X1NfX097e7sQ/RvQ2dlJd3c3kiTdsCaUYGHQarWEhYVRXFyMzWZb0HBEsGAwGIiNjeXTn/40BQUFiv3ee+89XnzxRRobGxd8jC+J8EuSRFhYGJmZmaxfv57Q0FCcTicjIyMcO3aMlpYWka9/AyRJIjY2loSEBBISElCpVFy+fJnjx49TV1fH0NCQEP2bcLeVOj0eT9DWlpkP0dHR5OTkYDQaaW1t5dy5cyJMdpcEyoUEMqMCF6y3trbS3d2tJCYsJIsu/IGbo2JiYkhPTyc3Nxefz6dczVZTUyM2gm6CLMtERUURERGByWTC6XRy8eJFfve739HW1ia82AUkcBoX5l6JJ7g1sbGxytWffX19nD9/Xgj/XRIXF0dxcTFJSUkYDAbcbjcNDQ3KeZzF2DNZ9LsMIyMjyc3N5YUXXqCsrEwpXPTiiy/yjW98Q3j6tyBwCY3NZsNms3Hs2DFOnz7NpUuXhOgvMBaLhSNHjlx3NZ7g1uTm5rJnzx60Wi02m01klt0D5eXl/NEf/RE6nQ64mpzw0ksvUV1dvWhnRRbd48/IyGDLli1s2bKF5ORkPB4P1dXVNDQ00N/fLzIAbkEgx/zQoUNYrVZaW1tpaGgQor8IeL3e2xbNElxPoBSGy+XCbreLUg13gUaj4bHHHmPz5s0kJiYiyzKjo6N0d3cTGhpKcnKyUrByoXVyUYVflmUyMjLYvn07ZWVlSo39s2fPYrFYsFqti/nrVz1+v5+RkREOHz7MuXPnsNls4rToIhG4OnB6ehqn0ynE6w4J1ENyOBzY7fagvXXrXtDpdHz6059m/fr1hIeHA1cvcenu7iY1NRWVSoXBYKCzs3P1CH+g8mZCQgJGoxFJkqivr6eqqoqTJ0+KioZ3gdVqZXp6WgyoReTKlSsMDAxQX19PZ2ensPcdEhkZSVpaGjabjdHR0aC+MOluUavV7Nmzh8jISOW17OxsMjIy2LdvH7/61a/4+c9/vij2XDThD9wcU1xcTFZWFtPT0zQ1NXHy5En6+/uVjTTBnSEG0+LicDjw+Xw0NTVhs9lECPI2qFQq1q9fT35+PlFRUTQ2NjI2Nib66V0QSHxRqVSK3QIH4VpbW+no6Fi0iXTRhF+lUpGbm0teXh7p6elYLBYaGxs5c+bMou1UCwT3isfjwePxiOJid4harWbjxo3k5+cTHh5Oa2sro6Ojy92sVY/X68Vut3P27FmampoWTSsXTfjdbjdnz54lPz+ftWvX8oMf/ICqqipRh0cguA+QZRmz2Yxer8ftdvPRRx9hsViWu1mrHovFwvnz5/mv//W/MjU1tWjndBZN+H0+HxaLhd/+9rdcvnyZqqoqBgYGhOgLBPcBbreb48eP09vbS3x8PHV1dcLjv0tmZ2f5x3/8R/R6/Zyy9P39/Ysq+gDS3cSPJElaFQE8v9+/Yk/gCBvOj9ViP+C83+/fsNyNuBHChvNntdjwZuP4bj3+UaBr/s1ZVNKWuwG3QdhwfqwG+4Gw4UIgbDg/bmq/u/L4BQKBQLD6WfSSDQKBQCBYWQjhFwgEgiBDCL9AIBAEGUL4BQKBIMgQwi8QCARBhhB+gUAgCDKE8AsEAkGQIYRfIBAIggwh/AKBQBBkCOEXCASCIEMIv0AgEAQZQvgFAoEgyLir6pyrvRTpSkDYcH6sFvsBo36/P2a5G3EjhA3nz2qx4c3GsfD4BYLFYaWX7F0NCBsuEkL4BQKBIMgQwi8QCARBhhB+gUAgCDKE8AsEAkGQIYRfIBAIggwh/AKBQBBkCOEXCASCIOOuDnAJVgd6vR6j0UhRURFZWVmkpKTQ19fHpUuXqK+vx+l0LncTFwyNRoPJZOLZZ58lPDwcnU5HfX09Xq/3jj6vUqkoKSlBpVIBIEkSw8PDjIyMMDs7y8jICIODg3R3d+Pz+RbzUQRBiiRJqNVqkpKSiI6OJiYmhpSUFMxmMyaTCYD+/n66uro4dOgQbrd73r9z2YU/8NBqtVr5tyRJaLVaJOnqoTOv14vb7Vb+CD5GkiQ0Gg0ajUaxodlsJjY2lgceeICdO3eyceNGamtreeWVV+jp6WF4eBi/f1UcPLwtOp2OqKgovva1r5Genk5oaChvvPEGLpfrjj//5JNPotPpgKv2bGlpobm5mcnJSa5cuUJDQwPDw8M4HA4h/jdBr9cDV+2n0+mUsevz+fB6vXg8HuDqWPZ6vUFtx2udDLVajVarJSQkhOLiYvLy8sjNzWXDhg0kJSURFxcHwMWLFzl9+jTHjx9f3cIvyzJqtRqj0cjGjRspLy8HwGg0EhERwZNPPolWq8Xr9dLZ2cmRI0c4dOjQgs149wMGgwGz2UxlZSU7duxg8+bNykSg1+tJTExEq9UiyzLr1q3D7/eTmprKf/kv/4XZ2dnlbv6CEBERQUZGBpIk4ff70Wg0PP3008rEFnj9Zn/3er309vYSERFBZGQkfr+fzMxM0tLSAPB4PExPT/Mf/sN/4MKFC7S0tCzPg65gdDodX/nKV9Dr9ej1er7yla8QGhqKWq2mp6eHixcvUl9fD4DFYqG5uRmLxRKU4i/LMtnZ2ej1egwGA+Xl5WRnZ5Odnc2mTZvQarWKI3xtfy0qKiIuLo6/+qu/wm63z7sdSyr8siyj0+nYuHEjsbGxREVFkZaWRlpaGsnJyQBotVoMBgNRUVGoVCrlwXNzc+nr6+PIkSNL2eQVhSzLGAwGTCYTO3fuxGw2ExYWRkVFBVlZWaSmpiJJErIso1KpMBgMwFWRU6lUTE1N0dXVdV8NOKvVSnt7Oz/5yU9ISEggNjaW5ORkZFnG7/crnqff72d2dlYJ41zrkY6PjxMSEoLBYFBelySJ+Ph4ysvLycvLw2w2o9Vql+05Vwp6vZ64uDgSEhLIyMggMjKSqKgotmzZoghWQkICOp0OWZaRZRmNRkNqaioAvb29WCwWvv/97+NwOJb5aZYGlUpFWVkZiYmJJCQkkJubi8FgwGAwkJSURFRUFJGRkYSFheFwOLBarUxNTSnOCMDY2BhtbW13HMK8HYsu/IHQTUCIIiIi2LdvH7m5uWRkZFBaWqoI/LWCdO1sFxkZSXJyMpmZmcoyKdiQJAmj0UhUVBTJyck8//zzREREEBoaSkFBASqVShEt4IahnOHhYZqamhas86wEpqammJqaoq2tjaioKOLi4igrK1PCXgF8Ph+Tk5M0NTVhsVhu+70qlYr169ej0+nIz88nJCQkaIVfo9EozkR0dDTFxcWUlpayY8cO0tPTSUxMxGg0Atf3O7PZjNlspqCgAIDJyUm6u7v58Y9/jNPpvG9CjrdCo9GwdetW1q1bp+y76fV6NBqNEvoKrCzHxsYYHR1lYGCAvLw8Rfj7+vq4cOHC6hF+k8lEeHg4BQUFVFZWsmXLFmVJE+hMfr8fj8dDX1+fIv5arXbO5kawo9Pp+MIXvsC+ffvYsWPHHO/0TifD8fFxOjo67iuP/1rGx8eZmJi4qbAHQjt3gkajYdeuXWRkZASFON0MtVrN1q1bSUpKIiUlheeee47o6GhCQ0OVCUGW7zw5MLCaLy0tpbm5mYGBgUVs/cpAp9PxzW9+k7i4OPR6vTJevV4v58+fp7m5maamJv7whz8wPT2N1+ulrKyM5557jvz8fACqqqr46U9/umCJGYsi/NeGdHJycsjMzCQ1NZX09HRSU1MJCQmZs3FbX1/PxYsXuXjxIn6/H61WS1FREevWraOkpAQAl8vFzMxM0AzC8PBwwsPDiY6OJisri+zsbLZu3UpOTg5hYWHK+7xeL62trdjtdmZmZmhsbKSoqIi1a9cqoR6Px8OlS5dobm5mbGzsvrWh3+/H7/ff8cburdBoNOzYsYPMzMw5K6n7naioKGJiYoiLiyM+Pp74+HhKS0uJjIwkIiKC5ORkDAYDGo1G+cyN7DMzM8Ps7CxRUVFzfu71enE6nQwODmKz2ZbkmZYbt9vNO++8Q2JiImazGbiapdPb20tnZ6cSfuzs7MTlcqFWq4mLiyM0NBS/38/o6CjDw8OMjo4umNO2KMKv1+uJjIzkoYceYuPGjaxZs0Z54EBIJ7DEsdvtVFVV8dprr3HixAlUKhVhYWE8/fTTxMfHU1JSgsfjwWaz3deidS1qtZr4+Hhyc3PJzc1l27ZtbNmyhfDwcOCqkAfs6HQ6uXTpEiMjI4yNjXHs2DGefvpp8vPzlUwLp9PJqVOnaGlpYXJycvkebJUQyEzZvHkzZrOZmZkZnE7nfRUiuxkJCQmsXbuWoqIiCgsLKSgoICEhAa1We93K0ufzzemHgYkXrsakA3Hqaz/ndDqZmpqiv7+f6enpJX225cLlcvHaa6+RnJxMbGwsAJcuXeLSpUvMzMxc936j0UhmZiZRUVH4/X76+/sZHh5menp6wfRvwYVfp9Oxd+9eHn30UT772c8SEhKixJ+np6eZnJxUZrf29naqq6tpaGigpaUFj8dDeno6ZWVl/O3f/i3h4eF4vV4uXLjAG2+8wauvvnpf5aDfiMDS+plnnuHJJ5/EbDYrqZqSJDE2Nsbw8DCDg4MMDw/T29vLP//zP2O1WjEYDBw4cEDJAQ68v6Ojg5/85Cf09fUt9+OtCiIjI0lPT1f2mVwuF0eOHKG3t3e5m7boPPTQQ3znO9/BZDKhVqtRqVQ3DOX4fD46OzuZmppieHiYH/3oR3M2a8PDw0lMTOQf/uEfCAkJUV6vq6vjD3/4w4KsylYLHo+HmpoaamtrFVtem+J6LSaTifj4eLZv305aWhput5uamho6OztvOEncKwsu/IHNXLi6ITE6Oqos6yYnJ5mammJoaIjR0VHGxsbo7e1VljCpqalUVlayd+9ezGYz4+Pj9PT08NZbb1FXV4fNZgsaj99gMBASEoLD4eDKlSt0dnYqB4qGhoYUj8lqtTI2NobP58NkMhEdHY3JZEKSJHw+H+3t7Zw+fVo5kCS4PRkZGWzbtg2VSkVXVxcNDQ2MjY0FRRaKRqMhJCQEv9/P9PQ009PT1NXVYTabCQ8PZ2BgAJvNpmRTTU5OMj4+TkNDwxwhS01NVVb5gPJ9FouF6urqG4re/UwgwnE70tPT2bhxI0lJSeh0Oqanp6mqqqKnp2dB27Pgwh9ImxsdHeXSpUs0NjZy+fJlBgcHsVqtWK1WRkZGcLvdc+JVGo2GnJwctm7dyiOPPILf76erq4uqqireeecd+vv7g6azuFwu7HY7U1NTjI6OcuLECU6fPs3k5CSjo6OMjIwwMDAwJyc9IiKC2NhYTCYTKpUKr9fL9PQ0V65c4fjx41it1qCx33yQZZmsrCy2b9+OVqulo6OD48ePMz09HRT2c7vdWK1WnE4n4+PjDAwM8MYbbyibu/X19QwODjIyMkJXVxeTk5M3jNVHRkbOie37fD5GRkawWCx3dbI62MjKymLnzp3ExMTgdruZmpqipqZmwVfrCy78TqeTw4cPc+LECWRZVma6QCzw2jig0gi1GrPZzJ/8yZ+wdu1ajEYjH3zwAW+99RbvvfceExMT920myifxeDycPn2aoaEh3nnnHWpqanA4HEpc/1o7wsei//nPf57Pf/7zGI1GxsfH6evr4+c//zlnzpzh0qVL4tDbHSDLMhkZGWzYsIGdO3eiVquxWCwcPnw4aOx34MABurq6GB4epq+vj8HBQVwul5K9Ezh1G8iQutkKPC8vj0ceeQSNRqOkKv7617/m1KlTQbNXdy8EVptqtVoJiXd2dmK1Whf09yzK5q7H47lj70ij0bB582a2b99OaWkpBoOBgYEB3nrrLc6fP8/U1FTQeQcej4fBwUFmZmaYnJy85SDRaDQ88cQTVFZWkp6eztjYGCdPnuT48eOcOnWK3t7eoBGt+aJSqcjJySE+Ph6DwYDVamV8fDyohGpgYACHw8HMzAzT09N3nXmjVqvZuXMnmzdvJicnB1mWaW9vp76+nqNHj9LZ2Rk0trwbJEkiJiaGqKgoJYW9o6ODkydPLsp5h2Wt1SNJEnq9nsrKSv74j/+YxMREBgYGaGtr4/3332diYiIoltc3InAw6VaoVCpCQ0P51Kc+RUlJCVFRUdTW1nL48GH2799/20lD8DGB+lCBLBaVSqWk0E1NTQWNHcfGxhgbG7unz8qyTEhICA8//DAVFRWkpaXhcrlobm7m4MGDVFdX3/fJGfeKLMukpqYSHR2NTqfD4/FgsVg4ceLEomjgsgq/SqWiqKiInJwcEhMTmZmZ4YMPPuCVV15hcnIyaEX/TikpKWHr1q1UVFQQERHBzMwMf/Inf0J3d3dQidVCEMjk+drXvkZiYiKzs7N8//vf58yZM2ICvQO0Wi2pqakUFBTwzDPPKHWPfvGLX3DixAmqqqrEyvMW6HQ6nn/+eTZs2IBWq6WpqYmqqqr7T/jNZjNxcXG88MILlJaWYrfb2b9/P4cPH6a1tVWI/i2QZZnMzEy2bt3Kvn37CAsLw+/3Y7PZGBkZCZrsp4UkJiaGwsJCYmJiUKvVWK1WLly4MGcTXXBj1Go1FRUVlJeXs3HjRiIjI5mamqKvr48DBw5gsViUzDPB9RiNRuLj41mzZg3x8fH4fD7q6+sXNaFlWYQ/cECptLSU5557DkmSGBwc5JVXXqGlpSUojnHPh0AN+S1btrBz5050Oh2Tk5MMDQ0xMzMjJs27RJIkEhISKC0txWQy4XQ6GR0dpaWlZcE31e43AoUDt23bxr59+9i6dSs+n4/W1lZqa2s5cuTIglSTvJ8J5O7n5+cTGRmJ2+3mypUrjIyMLNrvXHLhV6vVbNiwgRdeeIHnnnsOo9HIr371K37xi19QXV0dVAc77pXAsrC0tBS9Xs/ExASvvPIKr7zyyoIe8ggGAllRFRUVPPnkk2g0Gk6cOMH7778v4tF3QHJyMoWFhfzFX/wFZrMZv99PW1sbr7/+Oi+99FJQnH2YL4GzEyEhIWg0miUJiS15WeaQkBA+/elPs2HDBkJCQmhqaqKhoQGLxYLL5RLL6lug0+koKSmhvLyc4uJiQkNDGRkZYf/+/Rw9evS+LsC2WKjVanbs2EFxcTHR0dHYbDba29s5f/580GWT3S1arZb169fz9NNPExoaisPhYHR0lF/96lecPHlShHfuAEmSSE9Pp7KyEo1Gg8/nw+FwLMqhrWtZMuFXqVSEhIQQGxvLU089RUxMDE6nk5qaGq5cucLg4OBSNWVVIkkSJpOJzZs38/zzz5OVlcXU1BSdnZ386le/oru7m/Hx8eVu5qpDo9Gwe/duioqKMJlM9PT00NHRQUNDgxD+WyDLMuHh4WzatIlPf/rTyLLM+Pg4bW1tvPLKKwwPD4uT4neAVqslJyeH7du3o9FocDgcTExMUF1dfdusvvmwJMIfyN7Zt28f+/btIzk5ma6uLurq6vjLv/xLUTjsDlCr1axbt47y8nLKysqQZZmWlhaOHj2qVOcU3D0B4U9KSsLj8VBbW0tra6vI5LkFgQOXf/u3f8umTZuQZZm2tjbl/Mjg4KAIk90BKpWK/Px8KioqqKysRKVSUVVVxYEDBxbdfksi/Gq1ms2bN7NhwwZyc3NxuVxcuXKFQ4cOYbVaRZrXbcjPz6e4uJg9e/ZQVFSEJEm0trZSVVXF4cOHg+ZCi4UmMTGR3NxcoqKiMBgMuFwuTpw4QUdHh7DnTdBqtRQWFlJWVkZ5eTkJCQl4vV5Onz7N6dOnOX/+vBjPd0ggSSMxMVG5OKivr4/z588veoLGogt/IK6/ZcsWiouLSUhIoLe3l0uXLnHs2DHRSW6DWq2muLiYZ555hu3btxMWFobX66WhoYGzZ89y8uRJkcVzjyQnJ1NRUUFoaCiyLGO32zl58iTd3d3L3bQVR+AWvaioKMrLy3niiScoLCzE5/MxNjbG8ePHqa6uprGxcbmbumpQqVTk5eURExMDXK2TNDAwsCS35C268Ofk5FBWVsauXbswGAx0d3fzrW99i4aGBrq7u8Xmzy1Qq9WsX7+e7du3s3v3biIiIpBlGZvNxksvvcSlS5dE1sQ8yMrKYteuXUpNntraWlpaWoLmgpC7ISoqitTUVP7hH/6BnJwcEhIScLvdvPrqq7z88sviVO488Xg8nDhxgsuXLzM6OrroK85FFX69Xk9+fj67d+9GrVZz6dIlzp07R0NDw4LeJnO/otPpeOGFF6ioqMBkMjE1NcXZs2c5ceIE9fX193y0XnA1th8WFqbcEDU9Pc3g4KBSDE/wMTqdjuzsbDZv3kxubi5arZbBwUEOHTrE4cOHaWlpweFwCLvdJbIsk5aWRnh4OB6Ph+PHj9Pe3r4kSQWLJvyBXf/CwkK2b9+O0+mkurqa1157jZ6eHpExcRsCG2jPPfccZrMZj8fDwMAA77zzDj/96U+Xu3mrHp1OR2hoKBEREUiShNVqZWBgQLlPQojYVWRZJiIigqKiInbu3El0dDRDQ0O0trby8ssv09raKjLy7hG1Wk1GRgaRkZF4PB6qqqro7u5ekr63aFcvBkRr165dJCUl8bOf/YxDhw5x+fJlIfp3wMaNG9mzZw8ajQa73c7IyAj/8A//QG1t7XI3bdWjUqlIT09X7oKempri3LlzvPXWWyQnJ8+rUNn9hFarJTw8nL/6q79i/fr15OTkUF9fz5tvvsnbb79NZ2en2KO7RwKndQsLCzGbzdjtdmJiYjAajUvy+xdN+GNiYti7dy8Gg4Hq6mo++ugjLBaLEP07wGQykZWVRXl5OWq1mvr6eqWu/vDw8HI3775ApVIpfwwGA2VlZTz77LM4HA5Onz4d9MKvVqspLCxk/fr1lJSUoNPp6Ojo4Be/+AUXL15kYGBAnLKfJ4ENc1mW0Wg0PPLIIzidTnp6ehY9PXtRrl4MCwsjOTmZyspK6urqOH78OCdPnhSbZndAwH4ZGRmUlpbi9/tpaGjg97//vXIvsWD+XHshkMFgYP369SQlJWGxWOjp6aGqqmqZW7h8SJJEeHg4ZWVlPP7448THxzMwMEBLSwsvvfSSODOyAAQuVPJ4PHi9XlQqFdu3b+fy5csYDAZmZ2cXNeSzoMIvSRKhoaE89NBDfPazn2V6epqTJ0/yyiuvYLPZhLd/BwTuKIiMjCQ2Npba2lrOnTtHbW2tsN8C4ff7lbtiJyYmiIiIwO/3Y7fb+eu//uugvpRelmXCwsL47//9v1NWVkZCQgJ/+qd/SmtrK/39/UL0F4iZmRmGhoZobGxU7n/4yU9+wrFjx5bk8OCCCr9arWbXrl2sXbuWqKgoXnvtNU6dOsXQ0JDI4LlD/H4/ExMTfPDBBwwODtLf3099fT0zMzNiw3GBCAj/wYMHGRsbUzys8fFx+vv7g7rQXUlJCRs2bCA1NZXGxkbefvttGhsbGRsbE6K/wMzOzvKzn/2M0NBQJEmiurp6yVLcpbsRE0mSbvnmkJAQ/u7v/o6ysjISExP54he/SHt7+6KWF70Rfr9fuv27lofb2XClsFJtuFrsB5z3+/0blrsRN+JWNnzuuef4/Oc/T2xsLC+99BIvvfTScpavWJU2XEncbBzfrfCPAF0L1ahFIs3v98csdyNuhrDh/Fgl9gNhw4VA2HB+3NR+dyX8AoFAIFj9yMvdAIFAIBAsLUL4BQKBIMgQwi8QCARBhhB+gUAgCDKE8AsEAkGQIYRfIBAIggwh/AKBQBBkCOEXCASCIEMIv0AgEAQZQvgFAoEgyBDCLxAIBEGGEH6BQCAIMu6qHv9qL0W6EhA2nB+rxX7A6AquLClsOE9Wiw1vNo6Fxy8QLA4rvWTvakDYcJEQwi8QCARBhhB+gUAgCDKE8AsEAkGQIYRfIBAIgoy7yuoRCATBhVqtZsOGDeTl5ZGRkQFAT08Pvb29ynu8Xi+XL1/GarVit9uXq6mCu0AIv0AguCkqlYoNGzbw8MMPs3PnTgBqa2u5cOECKpUKAJfLhcvloquri4GBAVwu1zK2WHAnCOEXCAQ3xev1UlNTg9Pp5MqVKwCkpKSwadMm8vPzFfH/8pe/zAcffMDvf/973njjDSH+K5wVL/ySJCHLH29F+P1+5Y/gY1QqFVqtloyMDKKjo4mKiqKkpISRkREGBgbo6OhgYGCA4eHh5W6qYBXh9Xrp6upidnYWi8UCQHR0NLGxsRQVFZGenk56ejrZ2dmsWbMGSZLo7e2lvb2d/v7+ZW796keWZbKzs8nKyiI9PZ3Y2FjGxsbo6+vj3Xffxe1239P3rjjhV6vVqNVqJElCpVKhVqvR6/XAVdGfnZ3F4XAEpUehVqtRqVSKlxVAkiRCQkIICwujvLyc7Oxs8vLy+NSnPkVLSwsXL17k5MmTVFVVMTIyErSTpizLN7QfXLWtRqMBrtrzWvx+P16vF4/Hg9vtvufBthrx+/0MDAwwMDCgvBZwMvLy8ti8eTNbt24lPj6ejIwMEhMTuXz5MgCjo6NBOU7niyzLaLVaVCoVBoOBdevWsXPnTrZt20ZeXh5tbW3U1tby4Ycfrm7hD4i8Tqdjw4YNrFu3jrCwMOLj40lOTmbjxo2o1WqcTie/+MUvOHDgAMeOHVvuZi8pKpWKtWvXUlJSQl5envK6JEmo1WrWrVvH2rVr50wOGo2GgoICsrKyWLt2LSEhIXR3dzMxMRF04i/LMqmpqeTl5ZGZmXndz7du3UplZSUmk2mO8EuShM/no6mpidOnT3PixAn+8Ic/BJX4fxKv18vs7Cz19fVYLBbeeecdLBYLu3fvZvPmzXznO98hPz+fpKQk3nzzTSH+d4HRaCQyMpLHHnuMNWvWUFRURFFREXq9Hq1WiyzLpKSkKA7yvbIswi/LMiaTifDwcPLy8jCZTISFhZGdnU1aWhpJSUlotVrCwsIwm81ERkYiyzIul4vs7GwiIyOXo9lLilarRa/XExkZqUyA27ZtIy0tjYSEhDnvValUJCYmYjab8fl8zM7OMjs7i8lkUibUpKQkIiMjldXT/U6g74SGhhIREUFUVBQbN24kOTmZuLi4Oe+VJInU1FRiY2PR6XTX/czv95OdnY1arSY2Npbu7m56e3sZHx9fykdacXi9Xux2Ox6Phw8//BCz2UxKSgrx8fGkpKSQm5s7J0wrmIskSYSFhZGSkkJ6ejpFRUUYjUZCQkIoLi4mISGBuLg4wsLC5thxenqaoaEhfD7fPf/uRRf+gPcky7IyS2k0GhITE0lLS+Phhx8mNjaWmJgYtm3bNmcWu9bz8vv9yLJMTEwMRqNxsZu9rOh0OsLDw4mKiiIrK4vS0lLWrFnDjh07CA0NVcQ7EH4A8Pl82Gw23G43ExMTWK1WMjIyMBgMaLVaQkNDCQkJQavVKmJ2vxEI5ej1epKTkxURSktLIzMzkwcffJDQ0FAMBsOcz/l8PmXf6JOevEqlQpZlYmNjiYqKIjs7mwMHDmC324Ne+OGq7RwOB6dOnSIzM1MRrICt5uOV3q9oNBoljB3YKK+srOSJJ55Ar9cjy/J1DkgAv9/P8PAwLS0tK1f4VSoVISEhmEwmoqKiKCsrY+3atcTExFBQUEBeXh4ajUbZwL1dJ3G73Rw8eFDZZLof0Wq1fOYzn2Hnzp1UVlYSHx+PRqOZs/cRoK6ujgsXLuByuejp6aGvrw+73U5nZycTExP85Cc/IS8vj/j4eC5duoTFYmF0dHReHWYlk5KSQn5+Pt/4xjdISkoiOjqa8PBwZZB90n5wdfKsq6tTJtBPkpycTGJiIvBx7FWn0wlBuwFnzpzB6XRSXl5OQkICpaWlREVF4fF4cDgcy928FYFGo+Hhhx9WNsWffPJJwsPDCQkJUbTwZvj9fqxWK7/97W/553/+53mdmViU3hsfH09SUhKZmZmkpqaSlJSE0WgkISGBhIQEjEYjMTExmEwmPB4Pk5OTjI+P09raitfrRZIkYmNjSU5OJikpCQCr1UpfXx+nT5+mp6dnMZq9IpBlmYiICGJjY0lMTMRkMjEzM8P4+DhOp5Pp6WmsViudnZ1cunSJhoYGPB4PU1NTTE5O4vF48Hg8ir1DQ0Px+Xx0d3czNjaG0+lc7kdcNHQ6HWazmby8PKKiotDr9RgMBlwuFw6HA7/fT29vLz09PUxPTyse/okTJ67z9CVJQqfT8eijjyrCPzs7y+joKH19fUxPTy/HI65opqam6OrqYmpqCpPJpIQpZ2Zmglr4JUkiIiKClJQUMjIyePbZZ4mJiSEyMpK4uDhlIxeuOrdOp5P+/n4iIyOJjo5Wvsfj8XD69GlaWlqYmpqa16p9QYTfYDAgSZIyW2VmZrJhwwa2b99OcXExubm5c94fECebzcbs7CydnZ1YLBY++ugj3G43KpWKNWvWsHnzZhISEpBlmfHxcWU322q1LkSzVyyyLCPLMn6/n+npaQYHBxkcHMRmszE0NERfXx8nT57EYrHQ2dmJ1+ud8/nExEQyMjJITk4mNDSU2dlZ2tvbGRkZua83JQNL5Li4OAwGg7IJOTExoWxo19TUUFNTw+DgID6fD7fbrfS7a1GpVMTHx8/ZSJ+enqa/v18RN8FcAn11bGwMo9GI2WwmMTGRkZERRkdHl7t5y4IkSWg0GlJTU9m4cSObN2/miSeeICQkRAm5er1eXC4XPp+P6elppqamaGlpIScnRxH+wN7d8ePHaWtru27M3y3zEn5JkjAajXznO98hIiJCiT2npqaSnp5ORkaGkiIHV5fVDoeDCxcucPHiRS5fvszQ0BBtbW10dHQog0+v1xMfH6/ErHU6He3t7Rw/fvy+Fi4Ap9PJz3/+cz766CNSUlIAGBgYYGhoCJvNhs/nw+fz4fF48Hq9NwzbBDaMZFlmZmaGkZER9u/fT2dn5xI/zdIyOjpKU1OTsvHa0dGBxWLhzJkzVFdXA9zQbp/sUzqdjujoaP7P//k/FBcXK683NjZy4MAB+vr6mJ2dXZqHWkU4HA7Gxsaor69Hq9WSmprKtm3bmJycpL29fbmbtywEPP1//dd/JTU1laioKLRaLXA1dDMyMkJHRwednZ309/dz+fJlOjs7+Yu/+Is5cf6uri4uX77Mq6++ysjIyLzbNS/hj42NJT09nZKSEmX3GT7OqNBqtczMzDAxMUFNTQ12u52ZmRnOnj1Lb2+v4sVOTk4yMzMDfJzOlJmZSXR0NJIk0dbWRnNzM83NzXg8nvtyYzKA3+9nZmaGvr4+xaucmZnBZrPdcVpcfHw8hYWFqFQqJQ2xv78fm822mE1fdgJ2+9GPfoTdbmdiYoLR0VF6enrueJVoMplYv349W7ZsobCwkKioKHw+Hy0tLVRVVXH8+HGRnngTAqv+a1f/AwMDQR0WMxgMSsjL6/XS2dmJ2+3GbrczNTVFVVUVvb29DA0N4Xa7UavVSpg8IiICn89HV1cXx44d4/Dhw4yPjy9I/5uX8MfHx1NaWkpubq4i/Nd6TzMzM8qp0ddff53JyUmmp6epqqq66Waa2WwmNTWV3NxcRfgbGxtpbGyktbX1pp+7n/B4PEp44m4xGAykpKRQVFSELMtcuXKF999//74P8wBKGutPfvKTe/p8YH9ly5YtfOELXyA1NRVZlnE6nVy8eJGqqirOnTu3wK2+fwicKQkJCUGlUuFyuejo6GBycnK5m7ZsaDQajEYjPp+PwcFBOjs7sdvtjI2NMTAwwJtvvsno6CgzMzPExcVRUVFBaWkpGRkZ6HQ6XC4X9fX1HDp0iN///vcL5rzNS/gzMzPZu3cv2dnZNDc38957710Xjunv76enp4eenh4lbe5W4p2ZmcmePXsoKirCbDbjdDr52c9+Rn19Pd3d3fdtRspCoNfr+fM//3N27drFxo0bmZqaoru7W9k0F9watVrNjh07qKioICcnB0mSGB8fp6enh//5P//nfR8qmy+BhIKtW7cyOztLbW0tp06dYmxsbLmbtmx0d3czMDDAZz7zGSYnJxkbG8Ptdish28DftVotu3bt4umnn+bRRx9Fr9czNTVFb28v3/3ud+nv71/QldO8hL+5uZm33nqLmZkZuru7aW5uvi41LpCFcrtsEkmSiIqKIiMjg/z8fAwGg1JuoLW1lYmJCSH6t0CWZfR6Pfn5+cTExOByuXj99dc5c+YMY2Nj93V4bCGIiIggMTGRffv2kZubiyRJTE1NcebMGY4dO0ZPT899HyqbL4EwrVarZXJykomJCWZnZ4NilX4zfD4fLpeLzs5OHA4Hs7Oz1+lYXFwcaWlpPPLIIxQVFaHVamlvb6euro7z588zNDS04OWu5yX8jY2NWCwWBgYGmJycVFLd7kVkZFkmKSmJrKwscnNz0Wg0XL58md/97nd0d3cHdTrYnWAymYiLiyMzMxOTycTExASvvfYaFovlnkJGwUQgfbioqIg9e/YQHh6Ox+Ohr6+PEydO8OqrrzI8PCwmz9sQOLkry7KSTRXIVglm/H7/TVc9kiSRlJTExo0befDBBzGbzXg8HhoaGjh48CCHDh3CarUuuA3nnc7pcrk4efLkvKtm6nQ6vvCFL7Bp0yYyMjJobW2lqqqKo0ePMjs7KwbdLQgJCeGb3/wm3/rWt4iKiuLChQucPn2aS5cuCS/1NkiSRHx8PNu3b+eJJ54gIiICm81GX18ff/Znf0ZbWxuDg4Oi/90Bjz/+OP/xP/5HQkJCGB4e5sqVKyLEeAskScJsNrNt2za+/OUvK5u54+Pj/OxnP6OhoYHOzs5FmTgXJI9/vku5tLQ0CgoKKC8vJy0tDZVKpeSpBw7eCG5MYEMtNDSUyMhIpqamuHDhAu+9956YMO8AvV7Pn/3Zn1FaWkpBQQEqlYq2tjZOnTpFe3s7k5OTwoa3IbBaT0hIwGw2MzY2hsVi4eLFi0L4b4JarcZoNPKpT32KzZs3k5iYyPj4OO3t7TQ0NNDU1LSop+yX/dy5SqUiJyeH3bt3U1paik6nY2ZmhuPHj9Pe3i46zm2QJInw8HCMRiMqlYq+vj7Onz/PRx99tNxNW9EEymBER0fz9a9/nbCwMLxeL06nk6amJj766KOgyIRaCGRZJjc3l9jYWNRqNT09PVy5coXLly+L8XsT9Ho9MTExPP300xQXFxMREcHFixc5ffo0R48epaura1H73rIKf6DU8O7du3nssccIDQ3l5MmTfPjhh3z44YdMT0+LgXcLNBoNkZGR/Mu//AvFxcXY7XZ+8pOfiJTD26BWq9m6deucUsyTk5MMDAzw+uuvc/jwYaqqqkTfu0P0ej3/7t/9O0pLS5mamuKf/umfuHDhAqOjo2K1dBPy8vLYunUrO3bsQKvVMjo6yn/7b/+NpqYm+vr6Fr3vLavwazQaKisrKS4uJi4uDlmWGR0dxWKxYLfbxcC7DRkZGaxdu5aCggL0ej3Dw8PU1taKm49ugVqtJiwsjB07drB+/Xry8/ORZZn+/n5qa2s5fPgw7e3tou/dIYmJieTm5pKXl8fY2Bjnz5+nvr4+qC/8uRWyLJOTk8OWLVvYu3evkr1YU1NDc3Mzo6OjS9L3lq1YtkajwWw2s3XrVvLy8ggLC8NmszE4OEhHRwcul0t0nFsQCJHt3buX5ORkPB4PHR0dNDY2LsiR7vuRgOgnJiaybds21q5dS3JyMjabjba2NqqqqqiurhYT5x0gSRImk4nc3FwqKytJTk6mt7eXd955h/b2dlHL6AbIsqzcqBXw9gGampr44IMP6O3tXbJkjGXz+Pft28dTTz3Frl27cLlcNDQ08L3vfY8rV67Q1dUlYoO3IHAP5+7du3n22Wfx+/28+eab/PSnP13wfN/7BbVaTUVFBQ899BAPPvggJSUlaLVabDYbX/nKV5QaP/dz9dKFQqvVEhERwQ9/+EMKCwsV0T927BhvvfWWKGlxE3Jycli7di1/93d/p6RtVlVV8dFHH3H06NElXWUuufAH0ucKCgpYt24dJpOJ4eFhxsbGaG1tZWhoSHSc26DT6Xj++eepqKhAr9fT0NBAS0sLvb29QZ8zfSMC5Zq3bt1KWVkZaWlpzMzMUF9fT2NjoxKaEJPmnVFWVsb27dspKytDp9MxODjIr371K2pqasTYvQGyLJOcnMzWrVvZt28fMTExTE5O0tfXx0svvcSlS5ewWq1LGuFYcuFXqVSkpqaSk5NDQUEBWq0Wu93O4OAg/f39WK1W4e3fApVKRVhYGJ/73OeIjY3F5XJx/vx5LBZLUNdEuRVms5n09HQqKyspKCggMjKSlpYWTp8+zcGDBxc9g+J+IXA6fOPGjbzwwgtkZ2fT2dlJc3Mzr7zyiriR7CYE4vpbt27l0UcfRafT0dnZSWNjI7/97W+VApVLyZILv1qtZvPmzWRmZirlSaurq/nlL3+JzWYTon8bysrK2LZtGzExMXR0dHDhwgX++Z//WcSlb8FXv/pV/vN//s/o9XpUKhUOh4Mf/ehHVFVV0dDQIET/DjAYDERERPDv//2/Z9u2beTl5eFwODhw4AAvvvgiY2NjQV2a4VbodDq++MUvUl5ejk6nY2JigosXL3Lw4MFl63tLKvyhoaHExcVRWVlJamoqHo+Hs2fPKh6rEP2bI8syqampbN68mYceegi9Xs/Y2BhXrlxhaGhoWbyGlYxKpcJgMPCpT32KTZs2ERYWxvj4OBcuXKC6ulophytE/9ZIkkRiYiLJyclkZmZSWVlJWloaPp+PY8eOUVtbS09Pjxi7NyEyMpLU1FQKCgqIiopidnaWX/7yl9TU1HDx4sVlmyyXVPjNZjMZGRls2rSJ6OhoPB4PJ0+e5NKlS/T19Yn49C1QqVQUFBSwadMmdu7cicfjYWBggJaWFiYnJ4WAfQK9Xk9sbCxf/OIXKSwsxO/3Mzg4yMGDB3n55ZcZGBgQWWO3IXCjWW5uLiUlJZSUlFBWVoYkSUxOTvLRRx9RV1cX1NU3b0dCQgJr164lIyMDrVbLyMgIv/jFL+jt7V3W0OySCn9ycjIVFRWEh4ej0+mYnZ3F5XLhdrvFMvE26HQ6vvKVr1BWVobH4+GHP/whhw8f5vTp00L0b8D27dv51Kc+xZYtWzAYDDidTt59912qq6uF6N8hmZmZlJSU8P3vf1+5YU+r1fLGG2/wm9/8hqNHjwb1JSu3Q6PR8Mgjj/Ctb32LsLAw3n33Xd58800sFsuyZ48tqfCrVCrUarVysbDP56O3t1fk/N4BgdIMer0er9dLbW0tXV1dy96BViJarZbw8HDi4+PRaDT09PTQ0tLC0aNH6ejoEKJ/h0xMTNDS0sKPf/zjOReCNzQ0UF9fj9VqFQ7bDZAkCZ1Ox1NPPUV5eTlGo5F33nmHQ4cOcf78+RVxRmlJhd/j8SjlWvV6PTabjc7OTpGNcgdIkoRer0etVuP1emlsbGRoaGi5m7XikCQJg8FAeHg4UVFRyLJMW1sbBw8e5PTp02Iv5C4YGxtjbGyMhoaG5W7KqkKj0RAeHs7nPvc5MjIymJyc5I033qC2tpbm5ublbh6wxMIfOM7985//XLlhfmpqSngNggVDlmWysrJYs2YNFRUVqFQqTp8+zb/8y7+IOx0ES8K6devYuXMnO3fu5P/+3//Lj370IwYGBlZUSHbJPX6v1ztnAM6nhn8w4XA4+Ld/+zciIyPRaDSMjo6KwzI3QZblOSFFt9stRF+wZPT19XHmzBn+8R//kbNnzzI4OLjiQrJLnscvhP7ecLlc/PKXv1zuZggEgtsQuGP82LFjy92UmyLdjQhLkjQCdC1ecxaENL/fH7PcjbgZwobzY5XYD4QNFwJhw/lxU/vdlfALBAKBYPWzbGWZBQKBQLA8COEXCASCIEMIv0AgEAQZQvgFAoEgyBDCLxAIBEGGEH6BQCAIMoTwCwQCQZAhhF8gEAiCDCH8AoFAEGQI4RcIBIIgQwi/QCAQBBlC+AUCgSDIEMIvEAgEQcZd1eOXJGlVlPL0+/3ScrfhZggbzo/VYj9gdAWXFBY2nCerxYY3G8fC4xcIFoeVXqt9NSBsuEgI4RcIBIIgQwi/QCAQBBlC+AUCgSDIEMIvEAgEQcZdZfUsJCaTifDwcDZu3EhCQgKRkZH09PRQX1/PlStXsNlsy9U0gUAguK9ZFuHX6XTExcWRlZXFZz/7WYqLi0lPT6empoY333wTq9VKR0cHHo8HcRm84F6QJAlZlgkLC0OSPs5o83g8eDwefD7fnPd7vV58Ph9qtRpJkvD7/cr7RB8U3G9Id9OpFyJ3VavV8tnPfpYnnniCBx54AKfTyfDwMBMTE8THx6NWq5mZmeELX/gC3d3dTExM3PXvWKk56LD683+Xmzu1X2hoKElJSXzwwQeYzWYkScLn81FTU8O5c+cYHBycI/49PT309/ezYcMGVCoVXq+Xmpoa+vr6GBoaupemnvf7/Rvu5YOLzWrpgwgbzpubjeMl9fjDw8NJTEzkscceo6ioCEmSeOedd2hra6O/v5+MjAy2bdtGcXExGRkZTE1N3ZPwr2YkSSIuLo6KigoKCgr4X//rf+FwOJa7WasOv9+Pz+fD6/Wi0WgwGo34/X7y8/MxmUzYbDbFk5ckieHhYSYnJ8nMzFSEv6SkhHPnzlFdXU1HRwdut/u6lYJAsBSoVCp0Oh1lZWWo1Vdl2+/309nZSXd3911/35IKf1RUFHl5eezduxdJkhgcHOS3v/0tjY2N9Pb2kp2dTVRUFBUVFeTm5tLf309XV1dQLbVlWSY+Pp7HHnuMZ555hhdffBGXyyUE5y7xeDw4HA4GBgYICQkhJCQEgKSkJJKSkpT3BcJATqcTp9NJaGio8rPp6Wmio6Px+/3KCkH8P3yMJEmoVCpUKtWc1w0Gw00/4/V68Xq9OJ1OEUa7CbIso9VqlX9rtVr0ej1hYWHs3bsXnU4HXLXlyZMnGR8fv+s90SUTfpVKRVZWFtu3b0eSJN544w1efvllzpw5g8vlwu/3Mz4+zszMDCqVir/6q7/CaDRisViYmJgIqg7i9/vx+/2o1Wr27NlDbW0tLS0ty92sVYXD4WBkZITf/OY3PP7448TFxd3y/Vqtds5gg6vhoieffJKtW7dSU1NDb28vbrd7MZu9apAkidjYWLKzs8nIyFBeCwkJ4Vvf+hZ6vf6Gn2tsbOTixYv87ne/o7e3l9HR0aVs9orHaDQSGRnJY489pvTJPXv2kJSUREJCAiEhIcoeFMBjjz3GhQsX+PM//3NmZmbu+PcsifDLskxaWhpr166loqKCs2fPUlNTQ3NzM06nU3mImZkZ+vr6aG1tJT8/H61WiywHX8ZpwAsN7IesW7cOi8XCu+++y+TkJHa7/Y6/KyYmhtjYWGJjY+nu7qarqwuPx7NYTV9RuFwuTp06hUqlYnx8HL/fj16vx2QysWbNGmXJrNPpUKvV13mucPX/wGg0AszZJA42Aqsmn89HbGwsycnJbNq0iZSUFBISEoCr9tFoNKSkpCi2/SQqlYro6GjCwsJ49913OXjw4FI+xoohLi6O+Ph4DAYDCQkJJCcnYzKZMBgMhISEUFxcjFqtRpZlsrOzMZvNmEwmRQ8DmpmSkoLH47lh370VSyL8KpWK7Oxs1qxZQ2lpKX//93/PhQsX6O/vn/O+2dlZBgYGaG1tJS8vL6gHmiRJaLVannjiCcbGxujp6aG1tZWuri5GR0fxeDzKsvmTQi7LMmq1Go1GQ1paGiUlJRQUFHD8+HGGhoaCJlXW6/VSW1vLzMwM7e3tAISFhRETE0NYWJjiWERGRhIWFqYI/LX4fD7Fvvf7qjMgHoG+J8uyMgajoqKIjo7G4/FQXFzMunXrePLJJ4mOjp4THrsdaWlppKamkpaWRkdHR9AIf8CeKpUKjUZDTk4OJSUlhIeHU1ZWxtq1a4mPj0elUiHLshLO+SSf7INhYWEkJibetVYuifBrNBoefPBBcnJy8Hg8HDx4kI6OjqX41auSQKjH6/XS2dmJ2WymuLiYV199leHhYQYHB7lw4QINDQ00NjZy4cIFvF6v8vns7GyKiorYvXs3paWlFBQUYDQa0el0dHZ20tTUNOf99zutra2K8EuShCRJ/Nu//Rtw1dv/whe+wKOPPsrOnTuv+2xvby9NTU1MTk7icrmWstlLikqloqCgAK1Wi8Fg4NlnnyUuLg6z2QxcTcwIDw/H4/EQFRVFVFQUGo3mnlbkbrebjz76CIvFstCPsSLRarU8/vjjZGRkkJaWxgMPPIDZbCYkJAS1Wq2sNu/FltXV1Rw+fPiu++aSxfg1Go2Snz8yMnLTcEVgYI6MjDA9PR2UMdVrZ2+n08mhQ4doaWmhoKAAp9OJ3W4nPDycyspKtmzZwvDwMENDQ4yPj5OTk0NcXJwS4omJiVG+x263z8lmCRZutCnrdDqBqwcJt27dSlpa2g29pu7ubs6cOYPdbr9vQ2TR0dEkJyfzla98BYPBgFarpaSkRAk9wNUJUq/X4/P50Ov1ikfqcrlwOp3MzMzQ2dlJV9fHBTUDiQrp6emkpKQor/t8PkZGRu4qJr2aMBqNhIeHs3btWmJjY4mLi2P9+vVERkYSGRlJUlISWq1WOTPySXw+H93d3UxNTTE5OcmFCxfIyMggNzeXvLw8ZFnG7/fT399PbW0tR48evWudXDLh9/l8jI+PMzU1hdVqVQbetVwbohgZGWFqakrZ+A02Ah3C4/Fw+PBhfvWrX/H000+j0+mQZZl169ZRXFxMXl4eBoOBlpYWOjs7efjhh5EkCbfbTV9fH16vl7GxMQwGA1arFavVGpT2vBFqtZrQ0FB2796N2Wy+zi4Oh4O2tjZF+O/XjJ74+Hg2bNjACy+8QFhY2G09T7fbzezsLH6/XxGnkZERTp48yZkzZ4CrKwitVkt5ebkS94er4TeHw8Ho6Ohd7VWtJqKiosjKyuKpp56isLCQ7OxsIiIi5sThAyFEh8OhrPADuN1uLl++TG9vL11dXezfv58HHnhACZnLsozX66W7u5u6ujrOnj17107Jkgi/z+djeHiYkJAQTCaTMttduzyRJInIyEjWrFnDrl27+PDDDxkYGGB2dnYpmriiCHSEazuEy+XijTfeUN7z2muvKZu2AU9MrVYzPj6uhHMaGxvJzs6mtLSUP/qjPxKC/wk2btzI3r170Wq1NxT9n/70p7z//vscPXr0vvX2AdasWcOzzz5LSEjITUU/sJ8U2DA/deoUNpsNi8VCS0sLg4ODuFwuxU6pqank5OSQk5OjrDr9fj/19fVUV1dz/Pjxe8o/Xw08/fTTfPvb3yYuLk4Jh33Ss+/o6KChoYEXX3yR0dHROftugRWRw+HA7XYTERFBZmYm27ZtUzbNAw5hU1PTPa2clkT4PR4Px48fp66uDq1Wi81muy7GLEkS4eHhGI1GZFmmsbHxXk9Mrmp8Ph+Dg4P09/czNDSkrIA+OVG6XC6Gh4ex2WxKZ1Cr1bz11ltMTEwwPDzMyMgI0dHRzM7OYrfbsdvtiqcmQMmNDgzKgF38fj8ul4u+vj4mJibua9EHqK+vZ//+/TidTvR6/Q0zRMbHxxkdHaW7u5uOjg46Oztxu92MjY1dJ1xwNTQUExOjnM2Bq8kbbW1tnD59mq6uLqxW65I831Kh0WjYvXs3ZWVlikMGV8d0W1sb7e3tdHV14XQ6FW++rq4Ou91+XQTE5/MRFRVFYmIiO3bsoKKiAr1ez9DQED09PbS3t3P69Gl6e3vvqa1LJvynTp265XtkWSY5ORmz2YzX66W5uTkoc3z9fj9DQ0P09fXR19dHREQEer0evV5/3eAKiPm1fLIjBFYCAfEPxhXUjQhkrphMput+FjhgNDAwEBQZUHV1dTQ3NyPLMiaTCY1Gc917urq66OjouC6R4EaoVCol2yQrKwuDwYDf78dms9HZ2cmFCxcYGBi47xIM1Go127dvV05/z87OKqGtixcvcuzYMc6cOYPVamVqakoJZX+SgBOcnZ3Npk2b+OIXv0hsbCwqlYquri5Onz7NmTNnqKmpYXp6+t7aOt+HXShCQkL4/ve/T3p6Oj6fL6jSDm+ExWLh2LFjfPOb3yQzM5P09PR7ysbJyspi9+7dNxzMwYokSZjNZgoLC9m6det1tpmYmKC9vZ0DBw4ETckQp9PJr3/9ayW54pMEitjdieiXlJRQXl5OeXn5nNDEpUuXlFXs/YjL5eL1119nYmKC0dFRLl++TEtLCy0tLbS2tjI7O6vsWX4yrn8tsiyTkJDAE088wVe/+lV0Oh0+nw+r1cqPfvQjLl68SEtLy7yKWC7ZAa5PVkkM1J4oKipScqtTUlIwmUw4nU6MRiMhISHo9fqgrFXjcDiYmppClmVSU1NZt24dLS0tdy38er1eKVImuGqP0NBQtm7dSmlpKbGxsTeMvx4/fvy+3tC9EfNNV5UkCZ1Ox4MPPsiGDRsoLi5GpVLhcDiYmJjggw8+4OLFi/T399+XdvX5fPT29nL8+HE6OjoYGhpidHSU0dFRpqam7qhEReDk7lNPPcWaNWswGAx4PB6uXLnCxYsXuXTpEv39/fPOdlw04Q/U8dBoNOh0uuvS5QInKB977DESExOJi4sjMjISlUqFy+UiKiqK8PBwRkdH55zuDRZcLhczMzP4fD4SEhJYs2YNr7/++l19R2AghoSE4PV6g86GN8JgMBATE8O+ffsoLS0lMjJyzhF4r9eLxWLh+PHj931sfyEJ1OwxGo3s3buXgoICkpOTlRDPwMAABw8epLe3l8nJyeVu7qLg9/sVoT937txdfz4Q4snMzOTpp58mJSUFr9fLxMQEtbW1vPvuuzQ3Ny9IivuiCH9AbAoLCykvL6eiooK9e/fOWVIHlpTX7nrLsozT6cTlcvHss88SFhbGzMwMU1NT91088HaMj4/T3t5+z56RJElEREQQERFBWFgYFy5cYHx8fIFbufowGo0kJibyzDPPKCuhgEPi9Xqpq6vjxIkTfPTRR0F5huRekGWZnJwcwsPDiY+PJyMjQ0mPHR8fV7zV0dFRscd0EyRJIjQ0lO3bt/PUU08pZ3YsFgt/8Rd/QXNzMz09PQvWJxdU+FUqFWVlZUrhptzcXJKTk0lOTsZgMDA2NsbIyMic96emphISEoJOp8PhcHD27FlOnz6NxWKhtbWVkZGR+3JZeDsmJiawWCy8//779Pf3c/ny5bua/CRJIiwsjIiICMxmMzMzM/f1ydPbIUkSJpOJkpISdu3aRUhICCqVas4qKHD5itvtFqJ/F6jVatasWUNRUREFBQVER0ej1+txuVz8/ve/p66ujsbGRqanp8Uq6iZIkqSEu1NTU9FoNEoNnunpaex2+4L2yQUVfrVaTUlJCdu2bWPjxo2kpKQoBxWGh4e5cuXKnCqTWq2WkJAQYmJi0Gg0jI6OcuzYMX7+85/T19cXlIIfYGpqitnZWd5++22mp6cZGhq6J+EPCwsjJCSEmZmZGx6aCxYkSSIqKoo1a9bwwAMPoFar8fv9c8I8gRr+IiR2lcBqKHCJzY3sEqgrU1payp49e9i4caPyM6vVyu9//3suXrxIZ2fnErZ8dRGIfKSmppKcnExcXJxSsiXgiCx0xGNBhd/pdPL6669TX1/P0aNHycjIoK6ujkuXLmG323E4HIrXGVjaJCYmotFo0Gg0/OVf/iUXLlwIetEPEDi0de2lIneK3+9ncnKS8fFxJWwULBkqN0Kj0fDQQw+xbds2CgsLb5ir7vf7GRgYuO/yy+8Vs9lMeHg4UVFRDAwMXFdUUafTERsbS1pamhLeCWCz2RgcHMRisdy3Mf2FIjIykpSUFL773e+Sl5dHUlISfX19nDlzhhMnTlBfX7/gIbIFj/Hb7Xa6u7ux2+1YLBYGBwcZGBhQbi8KCHpmZiZFRUVkZmbi9/tpb29XDm0J0f+Yew3PBIR/cnISm81GcXFxUNf0V6vVbN68mfT09BuKvtfrZXZ2ljNnztDT07MMLVx5BA64DQ8PX5cvHjisVFJSQlFRESUlJURHR+NyuTh58iTNzc00NTUxNDQk4vq3QKvVkpKSwoYNG5TSDoGSDefOnePMmTOLktyy4MIfKM8wPDx80/cENoMCFTu7u7u5cuUKnZ2dwttaIPx+v3JQxG63U1paqtRRCTZkWUav17Nu3bo5t29di8PhYGxsjFOnTt23pQTuFrVajVarpb+/f85qU5Ik9Hq9soIqKysDrva5mZkZDh48yNGjRzl//rzYK7kFsiwTGhpKdnY2GzduVPrm1NQUtbW11NTUcPHixUX53Ut+kkKWZdLT03nooYf42te+hlarpbq6ml//+tfY7XYRXxUsOElJSRQWFhIeHn7dLVsBDh06xO9+9zsuXboUlOdGbkRfX98NT9hGR0eTkZHBAw88cN1EGjh1PzIyIkT/FgQu+HnwwQd55plnePTRR/H7/bS1tVFXV8f//t//m6mpqUX7/Usq/AFP4dlnn6WsrAyVSsW5c+eUqwWDLWVzsQnsnQQyBIIVs9lMcnKyUv/8kwe2JElidHSUK1euBG012BsR2GAMIEkS0dHRbN26ld27dxMXF4darWZ6eprLly/T1tZGc3MzjY2NjI2NLWPLVzYajYbCwkLKysp47LHHSElJoa+vj1OnTtHU1ERTUxNWq3VRx+ySCr9KpSI0NJRPf/rTpKen43a7OXnyJBcvXqSnp0fE9heYQA11nU4X1MJvMpmIj49Hq9VeF98PZK1MTU2JpILboFKpyMzMZPfu3Tz33HNEREQwMzPD+Pg4R44c4ciRI5w5c+a+rbM/XwI3cEVGRlJeXs4TTzzB7t276enpob6+nldffVUJeS82Syr86enpSp6/Wq1maGiIV199lc7OTuHtLzAqlYr09PQ5dX6CmZsJ+rWpnIJbYzQa+dd//VfS0tKIiIhAkiQ6Ozupqqrihz/8IVNTU0HtYNyOhIQEsrKy+LM/+zOKi4tJT0+noaGB1157jd/+9rf09/cvmf2WVPhNJhPR0dGo1Wo6Ozupqamhv79feAiLQODAkl6vR5Ikent7FzVmuJIJlL8IFBq7NtRzbR6/4HoC4Z2CggLKyspITk5Gq9UyNTXFoUOHqK+vp66ubtFDE6sdvV5PdnY2W7ZsobS0lKioKBwOB++//z7nz59neHh4SQ9YLqnwBwqG+Xw+WlpaOHToEOPj40F9onSxCNT9MBgM+Hw+urq6gjaP3263MzExodSbv7Y65CcPcQnmIssySUlJ7N27lyeeeIKIiAjsdjsjIyPs37+fK1eu0NXVJTZyb4Esy8TGxlJYWKiUbbbb7fT19fHBBx/Q3t6+5LeRLanwz87OMjY2xpUrV/joo4/4zW9+I0R/kdBoNOzatYuMjAw8Hk9QH+BqaWlhZGSEr3/962RmZhIdHT3n54FTzSLceD1arZbPfe5z7NixQ6m22d3dTXV1NQcPHrzhpUqCuZhMJl5++WWysrKUiMcbb7zBiy++yIULF5ZFA5dU+AcHB6murlZqcwvRX1w0Gg0qlQqv10ttbS19fX3L3aRlwefzMTMzw+uvv87u3buprKwkNDQUSZKUGurnz59nZmZGeP6f4NqSDYGSHz09PdTV1eFwOITo3wEej4e6ujqMRiPR0dEMDQ0xMzOj3J27HH1uSYV/aGiIoaGhRTuUILiewDWCly5dCuqj8y6XizfffBO9Xk9KSgoJCQlIksTMzAyvvfbaPd9der/j8/mYnJxkeHhYKdnQ0tJCfX29EP07xOPxcOTIEUwmEzExMbS1tTE5OalczbgcSHcz20iStCrcIb/fv2JvHVkqG4aEhPA//sf/UA4uPfDAA3d1TdtKteF87CfLMlqtFq1Wq1wqHjhtem05kQXivN/v37CQX7hQ3K0NA/sigVRYt9s952L1ReS+saFGo0Gr1aJWq5XClW63e9FteLNxfH/egSbA7XZz4MABqqur0ev1QV2ZM4DP58PhcIiTuXeJsNf8WWmlvoXw36e43W4+/PDD5W6GQCBYgdyt8I8CXYvRkAUkbbkbcBuEDefHarAfCBsuBMKG8+Om9rurGL9AIBAIVj/ycjdAIBAIBEuLEH6BQCAIMoTwCwQCQZAhhF8gEAiCDCH8AoFAEGQI4RcIBIIgQwi/QCAQBBlC+AUCgSDIEMIvEAgEQYYQfoFAIAgyhPALBAJBkCGEXyAQCIKMu6rOKS5imT/ChvNjtdgPGPX7/THL3YgbIWw4f1aLDW82joXHLxAsDiu9ZO9qQNhwkRDCLxAIBEGGEH6BQCAIMoTwCwQCQZAhhF8gEAiCDCH8AoFAEGTc7WXrghWCXq9Ho9Gg0WgAcLvduFwunE7nMrdMIBCsdITHvwoxGAz86Z/+Ka+88gptbW20tbXx4osv8vnPfx6tVrvczRMIBCsc4fGvMtLT08nPz2ffvn3k5+djNpsBSEpKIjs7G5VKtcwtXJlIkkR8fDxhYWGYTCY0Gg25ublkZmYyNjaGy+XC4XDQ1NSE1+sFwOv1Mjg4yODg4DK3fvkJCwsjJiaGz33uc8iyjM1m48c//vEdrTDDwsKIiIggISGBwcFBBgYGgnplKkkSKpUKrVZLaWkpOp0OtfqqFEdERBAZGUlCQgKyLOP1emltbcVms2Gz2bBarfT39zM4OIjff+9nyBZE+GVZRqVSIcvXLyAkSUKSJPR6PZJ0+8Ogfr8fv9+P1+tV/rhcrnk95P2CLMtkZWWxZ88eduzYgU6nU+wSHh5Oamqq0oGCBbVajVqtxu12o9FobrriUalU5OTkkJSURHx8PEajkT179rB9+3ba2tqYmZnBarXy7rvv4na7gavCX1VVxdDQUND3v7CwMDIzM/nud7+LTqdjeHiY1157jYmJCbxeLz6fTxm7kiQhy7Iy9hMSEsjOzqasrIz6+nplQvV4PEFnV1mWMRqNGAwGwsLC2LlzJ2FhYej1egBSU1PJyMigtLQUlUqF2+3myJEjDA4OMjIyQl9fHzU1NUxNTWG32++5HfNWCVmWSUxMJCcnh5ycnOt+bjAYiIyM5Gtf+xoGgwFJkvD5fHPeE+ggPp8Pu92OzWajvb2dpqYmGhoa+P3vf8/09DQul2u+zV21yLJMamoqlZWVfOpTn1Ji+wGio6PJy8sjNjYWn8/HzMzMMrV0adm0aRObNm3io48+Ys+ePTz44IM3dEAC/dRsNhMaGgqgTBIZGRmKaK1bt075jNvt5kc/+hFdXV0MDw8HnUjdCL/fj1qtJjIykr/7u7+jpaWFjo4Oent7GR8fZ3JykrCwMBISEkhMTESlUvHAAw/wwAMPYDQasdvtDA0N8ad/+qe0tbUxNDS03I+0ZOj1eiIiIvj617/Oli1bWLduHRqNRpkk4XonWq1Ws2vXLmVi9Xq9HDp0iPfff59f/vKX97xymrfwS5JEdHQ05eXl7Ny587qfazQa9Ho90dHRilh9cgAFHtrv92M0GgkLC8NgMBATE0N6ejrHjx/H6XQGrfAbDAYiIiJ4/vnnqaysJCoqisnJSUZHR5mcnGTt2rUYDAaio6MxGo3XTQr3IwEhLykpYceOHeTk5JCdnU1OTs5NV5ahoaHodLrrVgXXThTXrph8Ph/l5eV87nOf4+WXX8ZqtQZtH/wkGo2GDRs2kJGRwcTEBCMjI0xNTTEzM0NISAjR0dFERkYiyzLZ2dlERESgVqvRarX4/X60Wu0NJ+j7EUmSiImJYf369WzatIldu3aRkJAAgMPhAMDj8VBTU4PH4wE+1khJkggNDSUzM5O0tDTgajgoLi7ujiIoN2NBhD8qKoqSkhIefPDBm77P5/Ph8XiQJOmGnlPgIQJLd6PRSEpKCjk5OYSGhjI+Pj7fpq5KZFkmMjKSrKwsPve5z5GYmIjJZKKlpYWGhgY6OzvJzc3FZDIRERFBSEhIUAi/JEnExcWRm5vLhg0biImJmTMQAmHCG3E78VapVIrXVVZWRnh4OCdOnKC7u5vx8fHrVqzBiEqlorCwUPm3zWbD4XDgcrnQaDQYDAYMBsN1e06yLAddOFKWZVJSUnjwwQf57Gc/S0REBKOjo3R3dyseu9Pp5Pe//z2zs7Nz+m3gsw888IAi/IEJdFmFH67OWrOzs8zOzmIwGOb8zOfz4Xa7GRgYUOJ/Nwv16HQ6QkNDMZlMC9GsVY8sy6Snp/Pcc8/xuc99jtzcXJxOJ4ODg+zfv59jx47R0tJCRUWFMkGGhYWh0+mWu+mLjtfrpb6+npaWFoaGhoiKilJExmaz0dLSQmtr6z19d25uLjk5OZhMJqKjozGbzfzsZz9j//79/OY3v6G7u1uI/ycwmUwYjUb8fj8Oh4Px8XG6u7vJz8+f49n39fXR2NhIa2tr0DhzWq2WJ598kg0bNhAREcGZM2f43e9+x9tvv8309LQSZrzRXqZarWbbtm2UlJQAV/t2VVUV+/fvn9fqc97C7/P56O7uprq6mujoaB5++OE5Hufs7CxjY2P867/+q7Ks+eSgCcS4IiMjKS8vp6KigsjIyHnNaKsdjUZDaGgozz33HNu3bycpKQmA+vp6zpw5w9GjR+no6GB2dlZZHqpUKtavX8/U1BS9vb3L2fwlwe12097ezrFjx4iKiqKzs5OWlhZlj6izs/OevrekpIR169bxyCOPKGclUlNTSU9PJy0tjd7e3qAT/vj4eIqLixUR93q9NDc3Mzg4yOjoqPI+v9+PzWZjdHQUu93Od7/7XUJCQpSfd3V1cebMGaanp5V+e7/j8Xg4ffo0drudlpYWqqqqqK2tZWRk5JYxelmW0el0bNiwgeTkZDwejzJpDgwMzKsPLojw9/T0cO7cOVQqFXv37p0j/C6Xi/HxcX79618zPj5+0/9sWZZJSkrC6/UqMUGlkWp10MQDA6jVasLCwnjqqadISUkhJCQEq9VKTU0Nv/nNbzh//jxer1fZqISrk8X69eu5cuXKMrZ86fD7/bS1tXHkyBFKS0s5fvw4H374ITMzMwwMDNzzxmFXVxcTExM88MADaDQaJElS0hFTUlKCri/CVeEvKSlRwjRer5fLly9z4cIFGhsblff5/X6mp6eZmppCkiS+853vzPme7u5uzp49i91uv2ko7n7D7XZz4sQJOjo6iIuL4/Lly9hstttuzOr1eiIjI6msrCQ1NRWPx8OFCxdob2+f92ppwYJtfX19XLhw4br/zPDwcDQaDc899xwnTpygtrb2pt9hMBjQ6/VKahNcFcANGzbgcrkYGxtbqOaueDweD3a7nbq6OoaGhlCr1fz85z+nrq6O5ubmoBk0t6O9vZ2uri4OHTqEx+PB7Xbj9/vn5Q1NTk6KcM4niI6OJjs7W5n0fD4fHR0dVFdXc/LkyTnv9fv9rF+/nq1bt86J53s8HoaGhmhtbQ062wbCjxaLBa/Xe9sMMa1Wy549e3j88cfZtm0bACMjI+zfv5+WlpZ5t2fBhD+QpnXkyBFKSkrIyMgArnYCj8fD7OzsLWNSfr+fsbExxsbGGB8fJzExUflZXFxc0MX9vV4vNpuNN954A6PRiCzLyvJQiP7H+Hw+ZR9pofjkxOH3+xkaGsJisXD58uWgtP/ExARdXV2Ul5cr8eiOjg5GRkaus73RaCQ9PZ0NGzbMWSFcunSJtrY2xsfHgzI1NtBXb4daraaiooLKyko2btyITqejsbGR6upqOjs7sVqt827Lggm/w+FgZGSEDz/8EFmWiYmJQa/X43a7sdvtjIyMMDs7e9PPB4R/ZGSEsbExpWPIsozJZAq6UgSBMw3vvvvucjclqJAkSUlBDuwx+Xw+BgcHaW1tpaGhISiFf2RkhObmZux2O7IsMz4+Tnt7OxMTE3PeJ8sycXFx5OXlUVZWhlqtVjZ8q6qqsFgsCyJc9yuyLKPX69mxYwebN2+muLgYt9tNU1MTBw4cYGBgYEGcnAUT/sChoV/84hecPn2aoqIi/viP/1jpJEeOHLmn/3CXy8Vvf/tb2traFqqpAsFNMZlMbNmyhWeeeWaOsxFYVSzkymI10dzcjNVqVTbRGxoaOHXq1HVxaoPBwPe+9z3KysrIyspClmX6+/tpbW3lBz/4QVAd2LoXEhISyM3N5ctf/jJxcXG43W4OHDjAe++9x8GDBxdsQ3zBE2odDge9vb04nU7+7d/+DUmScDgczMzM3FNcT6VSkZmZycTExJzsAcH1uN1uGhoaGB4eXu6mrErUajVlZWWsXbuWwsJCUffoGgIb5u+++y4TExMMDw/jdDrnhGzMZjMpKSkUFBQQHx+v7Ad0dnZy6tQpxsfHg7pGz51QVlbG008/TUxMDH6/n+HhYd58800uXryI3W5fsBDZopykGB8fZ3x8nObm5rv63I1q/kiSRHp6Oh0dHQvdzPsOn89HY2Oj8KruEY1Gw8aNG1m7di2ZmZkAyjH5mZmZoEk/vBEOhwOHw8GhQ4du+PPA6dS8vDwyMjIICwvD7/djt9tpbW3l9OnTzM7OBt2m7t1gNBopLy/ns5/9rFIPqauri/fee0+pibRQrJgjdIEj+ElJSSQkJKBSqZTDXocOHaK9vX25myi4j9HpdERHR/PHf/zHxMfHK69brVb6+vr4m7/5mwXJprgfCZRteeCBB3j22WeVFGOr1coPfvADjh49yrlz54I2THYnGI1Gvv/977N582b0ej12u5133nmHl19+mcnJyQXfV1oxCcmBzhMXFzfn+H0ggyAYN9TuFrVaTVFR0RzhEtw5siwTGho6J514ZGSEK1eu0NHRweTk5PI1bgWjUqkoLi6msLBQKQ3udruxWq2cOnWK9vZ2Ifq3IDk5mYqKCsrLy0lKSsLj8XD48GHOnTtHa2vromjfihP+qKgoIiMjgY9LNAvujED9lJiYmOVuyqojUDbkk8XDxsfHsVgsDA0NBU3F07tBo9FgNpspLy+nqKiIpKQkJElidnaW0dFRamtrGRgYWO5mrlgkSSItLY3KykoKCgqIiIhgZmaGAwcOUFNTo5S6WWhWTKhHIBCsPvbt28eTTz7Jo48+SlhYGHD1oFZdXR2HDx8W1UxvQeBEeG5uLps3b0alUtHY2Mi5c+fYv3//oqa9CuG/j3C73Vy4cEF4WPdAVlYW5eXl11U2nZmZCdoDR7dDkiRSUlLYsGEDZrMZjUaj1KU5fPgwhw8fDuoN8VuhUqkwGo380R/9ERs3biQ3N1cZv7/73e+w2WyLGt5ekcIfzMXZ5oPX6+XixYv09/cvd1NWHVlZWezateu6evxWq3XeBbHuRyRJmpO+GTio5XQ6OX78OEeOHOH06dPL3cwVi8FgID4+ni996UskJydjNBrp7++npqaGDz74YNF//4oU/gCBuKvgzvD7/UxMTNzyhLTgegL3P3yyImzAA/vNb34jQhbXoFKpMJvN/Mu//ItyOhdQqsK+884791wZNRgwmUw8/vjjPPXUU2RlZeH1eunt7eUb3/jGnIJ3i8mKEX6NRkNlZSXp6enKa21tbVy+fJnx8XGlpLPg5qjVatatW6eUyBDcHlmWSUtLIzc3l9zcXOXQVqAI2fDwsBD9T5CVlcXatWspLS0lNjYWv9/P5OQkZ86c4cSJE/T29mKz2Za7mSsSWZZJTk6moKCANWvWoNFo6OjooLa2lpaWliUrRLkisnoC8a5t27aRnp6uFMm6cuUKBw4cYGxsTJz4uwMClUwDtfsFt0eWZTIyMsjOzp5TfdLj8XDlyhVxWvwTyLJMXl4eDz30EJmZmZjNZnw+H729vZw4cYL9+/czPDwsHLWboFKpyMjIUK4KlSSJ9vZ2jh8/Tl9f35Jljq0Ij7+4uJiNGzdSWFhIeHi4ErI4efIkv/jFL4To3wVGozHoCtrNB5VKRVpaGuHh4cprTqeTsbExXnvtNS5durR8jVthSJJEfHw8FRUVPP7448pGuN1u5z/9p/9EU1MT/f39Yj/kFmg0Gh577DHy8/OVqq9VVVW89dZbS7qyXBHCX1hYyJNPPkloaChqtRqPx8PJkyexWCxC9O8CWZaJiorCbDaj0+mE7e4AtVrN5s2b54QYbTYbAwMDNDY2Co///6NSqQgJCWHXrl0UFhZiMpmQJInu7m4aGxuVA25C9G+OyWRSbjKLjY3F5XLxxhtvcP78eaxW65Jmjq2IUE9g6RgSEoJKpcLj8XDmzBm6urqWu2mrikC9lOjoaCIiIsTG+B0QqH2enJysvGaz2RgcHKSzs1Oc1v3/aDQawsLC2Lt3L7m5ucqqMnAD2tDQEHa7fZlbubKJiIggMzOT3NxcIiMjcTgcvP3229TV1S25k7YihD+QvSOEan6oVCry8/N56qmn+Pa3vz2n9IBAMB+ioqLIzc1VwhQBzpw5w09+8hNsNpvw9m/DunXr+OIXv0h4eDh2u52enh46OzuZmppa8rasiFAPiPIM94rb7ea9995jZGSE0tJSoqOjaW5u5ty5c+LwzD0SKCMs7PcxkiShVqvnlLRwu924XC4cDocYu7fBYDAQExNDamoqsizT2NjIkSNHmJiYWJaQ7IoQ/mtFP/B30ZHuDJfLxbvvvovVasXtdpOZmcn58+c5duyYEK47IHDoKHBK0uPxYLFYhP1ug8/nE2dG7hBJkjCZTERHR5OQkIDX66W+vp633357USpv3gkrQvivxefz4XK5mJ6eFvnTd0Ag37ynp4ff/OY3yLKMy+XC5XKJyfMOcLvdvPPOOzzwwANUVFRw+vRpqqurxYX2t8Dr9TI1NcXXv/516urqROXN2xC4jjI1NZWUlBSqqqo4d+4c9fX1y9bHVoTwt7a28uGHH5KVlcXg4CDt7e2cP3+ewcHB5W7aqiAwWYqJ8u5xu90cOnSIrq4uDhw4QFdXF5cvX2ZmZkZMnNdgtVppa2vj7//+71Gr1TgcDurq6sRBwTvA5/MxPDzMe++9R19fH11dXVy8eHFZJ0zpbjq3JEmLMhICN8o/9NBD1NfXc+7cOd588817Nozf71+xu8SLZcOFZqXacLXYDzjv9/s3LHcjboSw4fxZLTa82Ti+W+EfAVZ6jmWa3+9fsQXphQ3nxyqxHwgbLgTChvPjpva7K+EXCAQCwepnReTxCwQCgWDpEMIvEAgEQYYQfoFAIAgyhPALBAJBkCGEXyAQCIIMIfwCgUAQZAjhFwgEgiBDCL9AIBAEGUL4BQKBIMj4f787z59r0bzjAAAAAElFTkSuQmCC\n"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#看看不同的手写数字7\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "fig, ax = plt.subplots(nrows=5, ncols=5, sharex=True, sharey=True)\n",
    "ax = ax.flatten()\n",
    "for i in range(25):\n",
    "    img = X_train[y_train == 7][i].reshape(28, 28)\n",
    "    ax[i].imshow(img, cmap=\"gray\")\n",
    "ax[0].set_xticks([])\n",
    "ax[0].set_yticks([])\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "outputs": [],
   "source": [
    "#将数据储存到数组格式\n",
    "np.savez_compressed(\"data/mnist_scaled.npz\",\n",
    "                    X_train=X_train,\n",
    "                    y_train=y_train,\n",
    "                    X_test=X_test,\n",
    "                    y_test=y_test)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "outputs": [
    {
     "data": {
      "text/plain": "['X_train', 'y_train', 'X_test', 'y_test']"
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#将np数据导入\n",
    "mnist = np.load(\"data/mnist_scaled.npz\")\n",
    "mnist.files"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "outputs": [],
   "source": [
    "X_train, y_train, X_test, y_test = [mnist[s] for s in mnist.files]"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "### 实现多层感知器"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "outputs": [],
   "source": [
    "from neuralnet import NeuralNetMLP"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "outputs": [],
   "source": [
    "nn = NeuralNetMLP(n_hidden=100,#隐藏层单元数\n",
    "                  l2=0.01,#l2惩罚项\n",
    "                  epochs=200,#训练集迭代次数\n",
    "                  eta=0.005,#学习率\n",
    "                  minibatch_size=100,#随机梯度下降每次训练的样本数量\n",
    "                  shuffle=True,#打乱数据的排序\n",
    "                  seed=1)#随机数种子"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "200/200 | Cost: 7402.89 | Train/Valid Acc.: 98.60%/97.56%  "
     ]
    },
    {
     "data": {
      "text/plain": "<neuralnet.NeuralNetMLP at 0x13df89870>"
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nn.fit(X_train[:55000],\n",
    "       y_train[:55000],\n",
    "       X_train[55000:],#验证集数据\n",
    "       y_train[55000:])"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(range(nn.epochs),nn.eval_['cost'])\n",
    "plt.xlabel('N epochs')\n",
    "plt.ylabel('Cost ')\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEICAYAAABF82P+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABb+UlEQVR4nO2deXiU1dXAf2dmkklCEhKysSQQ9n0PoIACrqiIiBtYd61LXWurVdtqa2u1aq36qaWouFUFFFFUFAVFRJE97GEPELYkQDayzuR+f9x3kkky2SCTBe7veeaZmftuZ96Zueee5Z4rSikMBoPBYKiMrakFMBgMBkPzxCgIg8FgMPjEKAiDwWAw+MQoCIPBYDD4xCgIg8FgMPjEKAiDwWAw+MRvCkJEZohIuohsrGa7iMjLIrJDRNaLyBCvbeNFZKu17RF/yWgwGAyG6hF/zYMQkbOBPOBdpVQ/H9svBu4FLgZGAC8ppUaIiB3YBpwPpAErgalKqc21XTM6OlolJiY23IcwGAyGU5zVq1dnKqVifG1z+OuiSqklIpJYwy6XoZWHAn4RkQgRaQckAjuUUrsARGSmtW+tCiIxMZFVq1adtOwGg8FwuiAie6rb1pQxiA7APq/3aVZbde0Gg8FgaESaUkGIjzZVQ7vvk4jcLiKrRGRVRkZGgwlnMBgMpztNqSDSgASv9/HAgRrafaKUmq6USlJKJcXE+HSjGQwGg+EEaEoFMQ+4wcpmOgPIVkodRAelu4tIZxEJBKZY+xoMBoOhEfFbkFpEPgTGAtEikgY8AQQAKKWmAfPRGUw7gHzgZmubS0TuARYAdmCGUmqTv+Q0GAwGg2/8mcU0tZbtCri7mm3z0QrEYDAYDE2EmUltMBgMBp8YBWEwGAwNiLtU8e6yVL7acJCs/OKmFuek8JuLyWAwNF9KSxUHcwrpEBFc1paVX0ypgjatAivsW1ji5niRi6hQZ2OLeVJs3J9NbqGLM7tGNdg592cV8Ke5G7DbbFw6sB2XDao6Res/i3fw/DfbAOgQEczSP4xDpDx7P+VQDuv3ZXP1sIQqxzY3jAVhMJxmJO/L4vLXfmLUM9/xfUo6AJ8l7+fsZ7/nujeWA1DsKqWg2A3Ab2clc8nLS3GXVpyOpJSioNiNy13auB+gjjz91Raue3M5X204WO9jd2Xk8egnG5izOo3jRa6y9tkr97F4WwYph3L47axklmyrOPdq9Z6j/HvhdiYMaMdDF/Zkf1YBOzPy+C7lMDe/tYJXvtvOFa/9zMNz1rM78zhZ+cW8tyyVz5L3k55bWHaeH7dncN4LP5CRW3TiN6ABMBaEwdDMyM4voXVIAJl5RTz15RYevagXseFBdTo2K7+Y1sEBiAhKKV5bvJOPV6fx1KR+jOwWTVZ+MTe8uZyQQAcdIoL52xeb2bA/mxe+3UZUq0A2H8xh66FcXly4jdV7jvHHS3rz1cZDAKzec4zhnduQdiyfRz/ZwNq9WeRZnedTl/fjVyM6+eV+KKVwlyocdhvHi1xsPpjDsMQ2Zdv2HMnnyw0HSd6Xxc2jEhnZNRqAQ9mFuEsV9364lo9aBzG4Y6TP87tLFb9+dxVXJ8Uzvl87AGau3MeHK/by4Yq9/G/5HmbefgZOh50Fmw6R1CmSd24ZzuTXfuaeD9YwpmcsUa0CKXK5+WhVGu1aB/HU5f3Jzi/huQVb+XnnET5fd4BVe47x/dYMusa0YmfGcb5LSedQdgGv/7gbgNbBATxxaR+6xYZyzwdryS4oYe/RfGLCms5yMwrCYDhBnv5qC/uO5vOvqwYRHGhvkHN+n5LOre+sZPYdZ/LDtgzmrt1PcKCdf1zev9Zjtx3OZeIrS7lqaAJPXtaXP326kfeX7yUsyMF1by7n0Yt6k5FXRG6Ri1l3nMmhnEJufmslL3y7jYkD2/PHS3pz5tOLeGnRtjKlcP/MZGLCnGTnl7Bg0yGCAmzc/NZKit2lXDGkA3Gtg3h50Xa2H86r0+dzlyrsNl/FEqrn49VpPPnFZv5v6mBeW7yTFbuPMuOmJALsNh6YmcyR49rPHxESwLebD/OnS3pz21ldyMgtYvLgDny/NZ1Xv9/BGzcO83n+LQdz+C4lnc0HchjTI5bgQDsrU48ytFMkvxrRkQdnr+Mv8zZx15hupBzK5U+X9CYk0MH065P446cb2JCWxZG8YvJL3Fw1NJ7fX9iT1sEBhAdpJTx37X7W7s3it+f14NzesXSNCeXSV5by7eZD7Eg/zjm9Yrn/3O48Pm8TD85eV0G2ohJ3ve5VQ2MUhMFQB1zuUj3iyykkqVMbwoIcvPHjbtylipyCVbxxYxJBASemJA5lF/LeL6nce053Zq3cR6mC57/Zyo7049htwuyV+7hrTFcS2oTw/vI9rNh9lHvG6c7q642HWJeWxfl94liZepTCklLe+2UPeUUu5q7dzx1junDPuG78Yc56npq/BYArhsTTu104vduFM2VYAq5SxdOT+xNgtzGyazTzNxzC6bDx3FUDeWTOeh4Z34sv1h/g642HLCVhZ/adZ9I1JhSAGUtTKa6Dm2lHei4Xv7wUuwhThifwxKV963R/ftyeSW6hi5veWglAdKiTP3+6iePFLqJDnTx4QQ9Gd4smNiyIa6YvY966A1x3RidyCl10iWlFfJtEXl60nR3peXSLDeWrDQf5YsNB7j+3Oz3iwvh5Z6b+HnIKefvnVG4amcjG/dncdlYXJg+JZ3t6Hv9ZvJNVqccAuLBvWwA6RoXw3q0jyuQsLVXYvJSfiDCyaxQfrU4D4JIB7egWq+/ZOb1imb5kFwBXJyUwMCGCj+88k2U7j5B65DhBAXYe/ng9Ra6mdd8ZBWE4rSlyuXE6fHfsOYUlrNlzjDE9Yvh8/QF+O0uP7loF2hnRJQqbwO/H9+LZBSn8+t1VPD6hD99sPsw1wxKI9groFhS7eeST9XSLCeWW0Z1p5az4t5u1ch+vfr8TQfguJZ3YMCe/7DoKwLNXDOBPn23k3wu38cSlfXl6fgp5RS4+S9bVZ+LCnfRsG85bP6UC8MLVA3luwVbmrt3PxIHteWR8L0SEV68dwvQlu5izJo3fXdCj7NrPXDGggiwTBrRj6Y5MJg+JZ+LA9ozv25ZAh40Sdynfb92ATeAjL+UAEGgXiuvQka3YfYxiVymdokJYtCW9RgXxzaZD7DtWwK2jO5NyKIdhiZGEOh2M6xVLt9hQrn19OaFOB6/fkETn6FZlx/VtH863mw+X+e5jw4I4t3cs//1hJ2/8uItnrhjAByv28uP2TL7eeIhXrx3CzzuP0C02lE5tQnht8Q46R7eixK0YlqhdUg9d0JOiklJm/LSb3u3CSWgT4lNmmw/LaGQ3rSB6xoWVKQeAcT21gogMCeCcXrEABNhtnN0jhrOJYcvBHEAnCDQlRkEYTlsy84q44N9LGNopkhevGUQrp4PSUkVukYsSdyk3zljBpgM5fHDbCL7eeIi4cCfv3jKC699czncp6Vw1NJ67xnYlOjSQh+es5/x/LwG0RfC3Sf0odpVitwl/mLOeeet0hz537X6++e3ZOOzl+SE/WSPYV77fAcDLUwdz9/trCA1ycOXQeFKPHOe1xTvJyC0ir8jF2zcPY0NaNv3jW3N29xhsNmH1nmOkZh5n8pD4MrfGE5f2LcueERHuGNOVO8Z0rfGeTBjYnrV7s7jnnG4ABDq0nOf1iSPo803cOrozQzu1qXCMR4H4Yt/RfJ5dsJWnLu/H1kM5hDodXNi3LW//lIpSqkJ2j8tdyi+7jvLR6n1lCvDCvnHszDjOXWO68vsLe5bt+/Tk/nSJblVBOQC0ax1MZl4xaccKAIgJcxIV6mTCgPZ8ueEgT13en/Vp2Vzcvy27Mo7zj/lbyMwr4sqh8fxqRCfGv7SEx+ZuQASGdtSf02YT/jyhNwMTWhMfGUx9GNk1GrtNmDiofYX2pMRIYsOcTBrcoewee+OxRgtdRkEYWgBvLt3N7JX7ePOmJOIjfY+gmpLjRS7sNqnVzVPkcvOHj9dz6cD2/LTjCFn5xSzacpgxzy2mldPOwezCstGw02GjVaCdd5al8sO2DK4amkDPtmG8cWMST89P4e5xuhO9KimB4EA7Ww/lsjMjj49W7+PCvm25+4M15Be7KHErHrqwJ06Hjb9/uYWD2YVlo9D8Yhdr9x7jnF6xLN6aTmJUK0Z0bsM7twwnwG7DZhMeOK8HP2zL4MftmYzrGcPYnrGM7Rlb4XMN7RTJ0E56xDuiSxQjupxYameo08E/rxxQpT061MmyR84lIiSgyrYAu61aC+KfX6fwxfqDXNAnji2HcunZNoz2rYModpdy5HhxBUvr8Xmb+GD5XgIdNi4b1J7Pkg/w3i97cJcqerULq3DeqcM7+rxeeyttd31aFkBZgHd09yjmrEnj282HyS4oYVS3aCYPjue2d/X6MSO7RtGzbRiTB8czZ00avdqG0drrs4qIz5TW2ogLD+Kr+88iMaqiIguw21j0uzEEV/N7DQrQSqOoxLiYDM2cI3lFvPDNVo4Xu7nujeV8dOfIRs+scLlLK3Ss3mQXlDDxlaXYbcLcu0Yh1oAsPKhqZ7Zs5xE+TT7A/A2HQLQ/fuKg9sxcuQ+HTbiwbxCxYU6yC0o4p1csn6zZz3u/6PVULugbB8CA+Ag+vP2MCuedMKA9EwboQPH8DYe4YcZy7RMflkB0aCC/PqsLy3drt1HqkeNln2Nl6jFK3IobRyZyYd842rYORkTo16F12bkDHTZemjKYR+as53cX9KSpiKw0P8JDZQuisMTN1kO52ET4Yr1OMV2++wgpB3OYMLA97axO/GBWIQE2G/klLtylitkr93HV0Hj+ellfAu02vtuSzswVemmY3u3C6yRj+9Y622udpSBird/p8M5aYb65VPv9B3SIoF+HcAYlRLAuLYsR1vYHL+jB5+sPcMYJKlhf9IgL89ke5uP36cHj9jQuJkOzZ9oPOykocfPclQN46OP1zF61r2z07E/2Hsnnxx0Z/GpEJ2avSuOJeRv58eFzaNu6POVTKcVDH61j/7ECbCJcOe1nDmQV0D0ujE/vHlXlnAu3HCYk0E5CZAi7M49z37ndSWgTwlndfZeKd9hsvPfLHsKCHHXqNHrEhTGuZww/7TjCtOuHMighomybxx2SeiSfs7rrtp93ZBJgF4YlRhISWH25+m6xoXx818har98UBNhtZcHUjfuz+e2sZLan66ymMKeDrrGhfLXhEDmFLnq3DaOd9f0dzC7gzaW7+GrjobL79NvzexASqLulEV3asHBLOk6HrcoIvDo8FsS6fdnYhLLJfR0igukQEczK1GME2m30aBuKiPDC1QPZeCCnTPl1iAjmq/vPKlMsTYXHgihs4iC1mShnIDu/hMw83xNysgtKeHfZHiYN7sBVSQm0CrRz9Lh/ygd8vfEgH63ax4a0bACm/7iTP87dSGZeERsPZFPiVlUmJn27+TDfbD7MIxf14tkrB7Ar8zhtWweRvC+LXRnlqZdr9h6jsMTNws3pnN09ho/uOpP594+uNuDooV+HcIZ3bsPlgzsQYK/b3+WlqYP56oGzKigH0KPZoAAbezKPl7X9tDOTwQmRZZ1iS8Tbgrh/5lqyCkr422V9uWpoPE9O6sv5feLKUlF7tQunXWvLgsguZH1aNkWuUpbvPsrkIR3KOnigTCH3bBtW59RYz+Bhf1YBbVo5Kxw3onMbS4awshF6l5hQJg6sGB/oGhNa4+i+MfDIZ1xMhibF5S7lmunLSD1ynLvHdmNktyg6R4eWlVv4cXsGRa5SrrV8vuHBAeQUlDS4HD/vyOTO/60BtO9/zZ/PZ4Xlktl2OJed1oj0h20ZJLQJ4a+fb+J/VvA4IiSAm0Ym4rDbGN+vLVn5JZz5zCK+WH+Q+87tzqHsQia/9jO92oZxKKeQ8/rEER4U4NMFVRkRYfYdZ9brs1R3bhEhMaoVqUe0gsjILWLj/hx+d36PKvu2JALtNvKL9YS5I8eLmTiwPdefmVi2fVXq0bLXPeLCCHM6CLTbSD1ynNQjx7l1dGeiQgO5amjF0hOeCW+929bNvQQ6uBsdGkhmXnEVK2BElzZ8snY//b3cd80Vu00IsEuTB6mNBXEaoJQqm8a/bOcR7nxvNcesEd17v+wh5VAufdqF869vt3HFf5Yx7KmF3DhjBfuzCli8NYPWwQFlo+GwIAe5ha7qLnXC8j33zVbatQ7i/6YOpshVyufrDrDNmny1/XAeOzN0p/rj9gye+WoLKYdyeW/ZHhalpHNOr9iyrKCgADttWwcxrFMbvlivM2FyC7VCSzmUi01gXM+mW3mwU1QIqUfyAVi8VZe5GNcrtqZDmj3agtBlOIpdpQRWsrT6x7fG6bDRISKY1sEB2GxCXGsnP+84QqmCQQkR/GZstypxrV5tw5gwoB2XVhrh14bHQql8vjO76Iyi4Z3b+Dqs2RHksBsLwuB/Pl6dxkMfr2d45zYk782i2F3KyG5RTBjQnhe+3cZZ3aN595bh7EjPIy2rgFWpR5mxNJW/f7GZlanHOKt7dFkHHB4UQE5hw1gQx4tcfLB8L3uP5rN2bxb/uLw/4/u1JSzIwYsLt5ftt2rPMTLzihgY35p1admsS8sm1OngPz/spNhVygV92lY59yUD2vHEvE1sP5xb5h+fMiyBHnFhTVp0LjGqFd+nZOAuVXy/NZ24cCd929d9hNwcCbBLmYup2FWKM6CignA67JzfJ46woPLupl3r4DILsbogrs0mvHLtkHrL0z4iiA37s6tYEB2jQlj8+7EVChQ2Z5wBtia3IPyqIERkPPASemW4N5RSz1TaHgnMALoChcAtSqmN1rb7gV8DAryulHrRn7K2ZFzuUlamHmNXZh6hTkeVdLz//bKH2DAnO9LzGJjQmiN5xXy5/iBH8orJLXTx5wl9EBG6x4XRPS6McT1jsdtsvLxId9LjvFIqw4IcZOadfAwi5VAOd763umw03TMujKuS4gmw2xjbM5bP1x0g0GGjV9swvttyGIAbzkzkoY/XERcexB8v6c09H6zF6bBxdo/oKuf31OrZnp5X5pce369tlfTQxqZTVCuK3aWkHcvnx22ZXDKgXYW5AC2RQIedYlcp7lKFq1QRaK+aulm5o/dkGzlsUmUuw8nisSBiw6sOBGqLOTUnnA77qZvFJCJ24FXgfCANWCki85RSm712ewxIVkpdLiK9rP3PFZF+aOUwHCgGvhaRL5VS2zFUYNbKvTy3YGuFTrtv+3C6xepR2ZaDOaxLy+bxCX244cxO2ER4adF2Xv5uO1sP53Jur1ifI7hfn9WZ95alciy/hDFeLpnw4AB2eQVZq2PzgRye/moLN56ZyHl94qpsf37BNrILSph5+xkMS2yDUD4T9bzeWkEMSoiga0wo662g9ZBOkTx0YS96tQ3jrO7RJLQJpl/71j4DvJ4skGJXaZmZ7mtCUmOTGKU7qJkr95Fb5GpyhdUQBNiFYndp2VyIutzntlYnnhjdqsG/F4+FENPCypNXJijA1uSlNvz5jxkO7FBK7VJKFQMzgcsq7dMHWASglEoBEkUkDugN/KKUyldKuYAfgMv9KGuLYe+RfFzuUpRSvLRwO3+Ys4EuMaFMu24IXz9wFg6bMHtVWtn+s1buI9Bu4/LBHXBYE68uGdAOpSArv4Rbz+rs8zphQQE8eVk/7hjTpcJkpvCg2oPU+cUu7vlwDT9uz+S2d1fx6Cfr0SvMlrMzI48zu0ZxRpco7DapUKZgTI8YnA4bo7tF0yNOlycItNtIiAzmrrFdGWfFHD79zSieu2qgTxmc1gSkIpe7rE6QsxkoiE7WaPk/i3cSHerkrO5VrZ+WRqA1Uc57gmFttI/QFoTn+21I2lnnrmsF3OaK02E/pYv1dQD2eb1PA0ZU2mcdMBlYKiLDgU5APLAReEpEooAC4GJgla+LiMjtwO0AHTv6nl15qvDzjkyufWM5o7pF0bFNKz5csZcrhsTzzBX9y1Iwz+0dyydr0njowp44bHqi0nl9YitMcuoRF0YvK3XwzBpy+y8d2L5KgNATpK5cJsGbp+ensDvzOO/cMpyfd2Ty3yW7iAsP4oHzdLZOibuUvUfzubh/1dgBQERIIAsfHENMmJPVe3SBtMTokArlKYAaYwmeTqpix9UwFVdPhnbhQbQKtNMmNJB3bxlRpS5TS8ST5lpk+cvrZEFYnXf3WN/xh5NhYHwEHduE0K99889WqomgABuFp3CQ2lfvoSq9fwZ4SUSSgQ3AWsCllNoiIv8EvgXy0IrEZ+qMUmo6MB0gKSmp8vlPGUrcpTwxbxPRoYGs3H2Mn3Yc4Y4xXcqKsXm4OimBBZsOs2hLOn3bh5OZV1SWLujNO7cMxyZSb/93eHAArlJFQYnbp2snu6CEWSv3MXV4R8b0iOHs7tFk5hXz4sLthAUFcOvozuw7mo+7VNE5uvrRo8dX7HF/eReHqwueTqrIVT/Xh7+x2YRZd5xJh4jgamcmtzQ8pTaK6mFBdLG+zwHxDd+JJ7QJYcnD4xr8vI1NUIC9TOk2Ff5UEGmAd2JzPHDAewelVA5wM4Donmq39UAp9SbwprXtH9b5Tlve+TmV7el5TL9+KO0jgq0ReLsq+43pEUNUq0C+2ngQV6n+w1aesAW6RsyJ4MlEyS10+VQQCzYeothdyjVJ+qsXEZ6e3J/8Yhd/+2IzpaWqLCjZJab24GR0aCDDEiM5u0f9UlOdXgqibGRbx4lu/qZfC8jDrw+eNNeieijibrGhLHzw7Hor/tMJp8NWbUr5ytSj7EzP45phCX5NcvCnglgJdBeRzsB+YApwrfcOIhIB5FsxituAJZbSQERilVLpItIR7Yaq32ylU4jdmcd5/putjOsZw/l94qrU6vHGYZUM/mFbBtGhTgIdNnq2bTgz3jMBLKegpIKS2XY4l1Cng0+T99M5ulWFkWGgw8b/TR3MLe+s4rXFO8oqinapQ/aKiPDRnfUvMeFRBs3NgjgVCbDbKPZyMdXVldfND+6lU4mggOqzmP7+xWbWpWWTvC+Lv0/qV8X92lD4TUEopVwicg+wAJ3mOkMptUlE7rS2T0MHo98VETewGbjV6xRzrBhECXC3UuqYv2RtTny+7gChQY6y1FJ3qeJ3s5NxOuw8PXlAnUYLZ/eIZu7a/cxdu59+7cPrXCKiLoQHWwrCa2RT4i7lqmnLKHGXUlDi5r5zuleR02G3ccWQDizZlsG85ANEhgQQEeI/F4uIEOiwNbsg9amI577mF7srvDecHNrFVDUGcSSviPX7s+keG8rMlfsY0jGSq4cl+DjDyePXCJlSaj4wv1LbNK/Xy4Du1Rx7lj9la478uD2D+2aupWObEMb+PgYRXed/zd4snr1iQIUidTXhKTx39Hgxlw2q3yzU2vC4mLwnyyXvyyK7oITEqBAOZBcyabDvsshndY9BBDYfzCkrTe1PnI6K2TXGgvAPAXY9GMizBg3mPjcMTofNpwWxdEcmSsFzVw3krv+t5ruU9JapIAx152B2Afd9uJYAu409R/LZnp5Hj7gwNh3QcwDG1qM8RHSonp276UCOz/jDyeBxMXn7Rn/YmoHdJnx292gQvfi6L9q0CmRAfATr9mU1+OQoXzgddisGYRSEP/G483KL9G/CWBANQ2UX0y+7jpCRW8TirRn6v9RBLxg1f+NBXO5Sv7iZzDfZTHjis00UlLh5+2a9sPq3m/Xs4c0HcogODaz3+gtjrKDuwPiIBpUz3GNBeM2FWLI9g8EJEbQOCahWOVSWqy4B6pPF6bBRVOKlIJpJkPpUI8BSCMaCaFiclSbK/WXeJu79cC2frzvA2d2jsdmEs3vEkFvoKlv/oqEx32Qz4JtNh/hm82EeOK8HI7tGMyC+NQut8hKbD+bQu114vTMVbj+7Cy9PHUxiA4/Uy2MQWkEcPV7Mhv3Zdc4yOr+3nlXdp44LwJwMToetbIZvoMPW4ktaNFc8ijevSP8mmsN8k1MBjwWslOLY8WJSDuUSHxmMq1RxrvU/GtVNr42+ZFumX2QwCqIJUUqvovXg7HX0ahvGraP1rObzeseRvC+LA1kFbD+cR58TKOYWERJYpc59Q+B02AiwS5mL6cftGShFnRVE//jWLP792DJLwp8EOmwUlbh1ATljPfiNQGNB+IWyZUddpay0Sqa/cPUgFjxwNhMG6BT3iBDttl2yPaPa85wM5ptsZNKO5fPPr1M4dryYf8zfwsNz1tO3fThv3JhUlm10cf+2KAVPfbmFYndpo4y264qIVCi38fm6g8SFO+tVYz8xulWjjOadDlvZPAjTafmPyjEIc68bhiCvRYOW7z5KoMPGwITW9GwbVuH/c17vWIID7LjcDT/r2gSpG5nZK/fxn8U7ef+XPeQUurjhzE785dK+FWoRdYvVy1Z+uUGv59vcykGHBweQW+ji2PFiFm9N5+ZRiXVe8asxcVpVRotdpSZw6kc8A5vjJkjdoDjLlh11s2L3UQYnRPh0391zTnfuOcdnMuhJY77JRmZHRh7RoU6iw5xcnRRfRTl48EwmCwqw1ViSoikIC3KQU1jClxsO4ipVVcqLNxd0kE/PgzCjWv9R5mIyFkSD4rEgMnKL2HQgmxF1WBO9oTEWRCOzIz2PQQkRvH7D0BrdLCM6tyGpUyQOuzS70Xl4kLYgPkveT/fY0GZn4XgItNs4apX7Np2W//BYEJ64lLEgGgaPBbF27zFKFY0yd6gyRkE0Ii53Kbszj3NOr7haffAiwtu3DKdUNb/6g2FBDpL3ZZFX5OIPlYoFNiecAdZEOWNB1A13CdhrX6e7MoEOa6Kcx4IwCQENgseC2HtUL6rVIaLxy5ebb7IR2XM0nxK3olts3VxGoU5H2cS05kR4UAB5RS5CAu1cO7z5llj3pAnqGIRJvawRpeDlIfDdU/U+1LOCXF6hi0C7SSduKIKsNU3SjhUAVFiXpbEwCqIR2ZGeB1BnBdFcCQ/Whuc1wxJoHdL8FJiHQLsVg3CVmlFtbaRvhuy9EFH/kg0BlgVxvMhl3EsNiMfFlHasgAC71DoJ1R+Yb7MROVUURFx4EAF2KZu30VzxuJhMmmsd2P6tfv7u75DyZb0O9U5zNfe54fC4mPYdyyc61NkklpmJQTQiO9LzaNc6iNAWvorYdWd04vw+ccRHNu8F4LUFoUttmJFtLexYCFHd4Nge2LcC2g2CvcsgIBi6X1BjbCLAXp7F1K65LfN5dDfkHYYOSWBvWf87z0S5rPwSOsY3zX/N/GsakR3peS3eegDtG+0U5f9aSieLp5ZNswlSF+XB/tVNLUU5mTvgyE4oyoW9v0CvSyCuLxxYA9/9DebcCjOvhW/+VONpPMpXqWaY4rr2PXjrYig5XnXbvhVQnN/4MtUR77hZU8QfwCiIRmPTgWy2HsqlZ5xZJKWxcDrsuEsVBcV+cjH9+AJ8+0Td9//fZHj9nKbplPatgE9/A9NGw8e3QMExeH2c/gxih3Mfh96XQYchcCAZLnsVbpoPQ26AFdPhwNpqT+293kizSwbYsRCUG9a+X7E9czu8eT58/ciJn/vQBnh7gj5XQ7N/NeGpX+NZpTnmVFQQIjJeRLaKyA4RqfJNiEikiMwVkfUiskJE+nlt+62IbBKRjSLyoYg0M9u1dpRSvLxoO88tSOHWt1cRFRrIr8/u0tRinTZ4lEJuoR+Cp6WlsOiv8NOLurOt0zFWifScAxXbD66HGRdBYXaDisjMX8GK17WV8PYE2PIFBIbB5nmw6G/QawJs+Rxsdhh1H8QP1a6lohw4ugsSR8EFf4dWMTD/YX3OgmNa2QAcPwK7fqigfBtEEe/6QVs1J0vuYTi4Tr9e827FbRvnnNy5C47Bh9dC6o8Q0Um3KQUr34Q8qy5S6UmsJ/3zK0R8fjN9JRWA6LCmWb/cbwpCROzAq8BFQB9gqoj0qbTbY0CyUmoAcAPwknVsB+A+IEkp1Q+9It0Uf8nqL75Yf5AXvt3Ga4t3UlDi5s0bh53wWtCG+uP0muHb4CPbvEPlr7d8UbdjzvuLfs7ZX7H9u7/D3p8ha6+ei7D1K93ZVMexVJg+DtJWQUkhTB8Lz/fUj6x91jUOQsoXMP/3sPlTcDjh7uVwy1fwyB646J/Q7wooyoY5t+nrAnS21ulyFernoNYw+XUY8wct0/yH9cj7u6f087JXK1gQJ60g0lPg3YnwxYP1P7byPdv5nX7uei4c2VH+GZXSCqLTaJj48onJOe9eyD0It34LjkCtDPatgC8f1Pd7yXMwY3y5TMkfwoaP9et1s+C9yfq72/k9vHF+VYU4+FcAxIkefJyKLqbhwA6l1C5rzemZwGWV9ukDLAJQSqUAiSISZ21zAMEi4gBCgErDruZNYYmbZ75KoU+7cLY8OZ7lj517QlVZT5p9K8o7jRMlZT7sX1Nzp9UM8VYKPjuuvcvh/avgqz/4PsGqt2DhX31vC28PT2RBZGfY+HHtwhzdDSHR+nVlC0JsENML2vaH7d/Ah1Ng01zf5ykpgA+u0XECRLt+DqyF9oOgx4UQYAUzD6zRzzd+Dmf9TiuHcF0BlMBWOujcZYx+v2Ve+Wi3TRf442Eti4cuY6D7eSACF/wNQuNgybNwPAPOvJuAXd8yXLYAXrOoD2+GdyfB0n+Xn6e0VGdI1fQ7iu0FYe21TK7i8vacg/DmBfBsF3hxAHzxW9j6dfn2/Wtg+piK5975HbSKhf5XQmmJ/g4ADm+EzG3Qb7IlVz1H+lu+0JbXOX+EhOHa4vHIFBQBg67VnyFthVbSoC3NdTN1rOfTu2DnItjwEXz/lN5v4yd6v/UfwX9Gg1P3FdGSA1Dv9WAaCn8qiA6Ad8+UZrV5sw6YDCAiw4FOQLxSaj/wPLAXOAhkK6W+8aOsDcKHK/ZyzX+X8cmaNO5+fw37swr484Q+BAXYyya9NDpvng9z79R/nNk3wg/PVt3nQLJ2OxTlVd1WlKf/5K+Pg/+eBQVZ/pV31QzdsTQAFVwfvuZBLHlWd8gbPvLdaW34GJa+oDsiV7EedRZbwc7SUt1hXj4NLnsN8tJh2auwfDoU5lQ910c3wef3Q/+rtHLx5uA6aDdQjyK7na9H7Vu/qriPUvrcb5wPGSkwdZZ2CaVZ7p6Jr+jRcN5hHVfYv0bHFjok6e2VrwlaSUydBdd9AgFelm2ADyt330o9UAhrC7/dDBc8BTfPhy5jkIV/4bYA3VkHOmzaEpoxHnZ9D7/8R98r0Pfv51dqdx9d+qK2YLZ5KYDv/gaHN0Gfy7TySv4QVr+tt5W64dvHtWV1YK12qyml78etCyC2t94vI0U/R3WHq9+F3hPh1TNg0ZP69388U8v69gR46xI4tLGqbErBj89DbF848x7d1m6Avi/pmyDpZq2AB1yjr/P90/q8GSla+c24ULv0YnrB149C2kr9Pa19T58r9Uc9H8WSOdau71VTWRD+zPvylbRb+V/4DPCSiCQDG4C1gEtEItHWRmcgC/hIRK5TSv2vykVEbgduB+jYsWln9c5Yupvt6Xks332UkEA7j17UizO7Nn6BrTI8wdCu43Se++ZP9eOs3+kfKWhf8zsTtashoBXc/KX2Q2/+FDqeqX/4186CTZ/okfanv4Ep7+vOsaH46WXdUV87S4/CQPtxQ09uzQjvuEOFGITbBUe265GfIwjyj2i3T+v4ivt4RuE/PKPv04JH9chw2C2w7DW4+Dk9OgXdMS14TL/O2Q/ne1keaavhYLL254+8t6KQeemQewD2/AzPdIRH9upOcOMn+vsLtCyCPT/DVw9Bm64waZr+Tvet0J1PTO/ye7XvFx0biegEsX3Kj6+OnuPrdjN/elGPhi/8B5zxGxh5T/k2ZzjhogcXTocNIjrCb5bpUfbXf9CZWwnDtII4lgqBob7Leiz6G+RnwsX/0vd57XvQZ6LedtGzMOIOrUhBHy922L0EPrlD38Px/9Tf2fzfQ8+LoXUHbREVHwdHsD43aAXYx3JmBIXDTy8BSrvcBv1Kd9Lh8RAcqe/x9/+Aa94DZ5j+3V//qbaePPIHR8INn8Lqd2DwdbrN7oBR98O8e6zzAz0v0anEnUbpYx1B+jOGtdPxKaV0anHCGfpaoXEEWmO2KhZE5g79u+04om7f3wniTwsiDfCelhlPJTeRUipHKXWzUmoQOgYRA+wGzgN2K6UylFIlwCfASF8XUUpNV0olKaWSYmL8vwhNdew5cpzt6Xn88eLevH/bCJY8PK6sImuTkavLhRPeXqcsIvDglnLlANpl0aYzXP0e2Bx6xLdtgR7x/qun/gOGtIFht8H5f4OtX2pTuaFwFcPPL+s/5XuXl7enbz7pUzurC56u+C+8dqZ2O4yzOvWD6/Xz2vd1ps/uH6AkX3cwB9frDiXpVj06/O7vehQc07P8nG0H6M691wQ9svVYGqBHvyFRMPQm/b6ksHyb2OGcP8Hw20GVwtPx0H4IFOdppZl/VLtrEkfBfcm64x00VXfWb56v3SR3/Vx+vk6j9PPwX8OVb57sLSyns+WO+v4fVQcHQeGEix6MtCFXd3StO8DAKfo3lfKF/hw7Fmp5f/wXPNOp3LIAyD2kLbCSAt25Dr0J7JZv3+0CZ2i5cgDdwdpsWmHmH9EdetLNWimCdtEt+CNkp+nv7LEDkHSL3rbhY+1eBOh3pR4E9RgPwW10hx0cCfet0Z9B7NoSWvu+ltHtguAIiK5UXtsZppVmcER5W9/LtTL8+WWwO3WG2NCb9LGRifq6Zz+klcrQm/RgIXMbdDpTH//7bbwfqAcgVSyIV4bCjAtOLhBeB/ypIFYC3UWks4gEooPM87x3EJEIaxvAbcASpVQO2rV0hoiEiJ4+eC6wxY+ynjQLt6QDcGHftozqFu1fk7CyiV6YA/89u9zk9pCdpp9XvaUzUya9VtXVENcXbl+sR2r9r9Qj1Z9e0iO4zmN0Z+hxv5xxl3ZZ+MopP1G2fa1HY0NvgikfwpUztPntLq643/FMHdyrzn/9+f3aLZBu/UzcLjrunYsTfZ4KCqL3RO2vj+uvOw2xaTdP2mr44gGdvjjLGgmOul+nSWZuhQkvwN0rdGfz2P6KfnqbXbuGRt4LhVmQ/IFuX/G67mBG/1Z3IrNvhDfOKz+uVZTuJDzKA7QPGyBjK7x7mQ6IglbkDut3FT9cP+9bqTtKD9E9tDI6vLmiAjtZPMHr+KSq24JaE4ZWEL/Z/7AeNYPuLKd8AGferZVEaYkepbeK1r8h72D9j//S28dayY5j/6At1ay98M/Eqi43D607aHfRVW/rexPTS7evehOWvVKeOeZ9j75+BNZZ38+I2+F3Kdp6HfuojpEMmOJ1n4dCwggddJ42Gj64uu73zBmq04Xj+uv75qilT/jxX/q5Y/lYOCjATqDDVrYWPFBRse5fU3d5TgC/KQillAu4B1iA7txnK6U2icidInKntVtvYJOIpKCzne63jl0OfAysQbuebMB0f8naECzcfJgecaF0jPLTjEdPBsZXf9AdjPfIYfcS3cF9fr8OxHk6UU8wdPwzcMkL2i+a+pMOzJYU6JHxoY3lI8Jz/gRXv6Mzas64E26cB7d+U75dBH69SFsTDcXa97QyuvhfurPsd4UOqHY/v+J+c+/UAT3PffCm1K1HhXuW6nkG2Wnw47/otfwRJtr16DrQYdNuok/v1p/j2llw11LdaXcZBzlpMOtXelQ3+reQOFr7mftdoa8x7z79bLPpEWl1f/aEEdBlbHkW0JGdepTruWchUfpaHg5t1KProHAtR9Kt+ty3LNDB4YFTYP8q+L8k7Z7x4HGHffWQHtl6ENGWyLoPfMeUTpSYXjDpPzD5jarbnOGEWgoitngfOL1WF+xxIYTG6g42sjO0HwxRlmV9ZIfu7JZP14OYwddpi82bdR9Cca7251dHz/HahQXa2g1rp79rZ3h5CurGOdqVWlKgByTh8VXPU5gFnc+GIddXbD/7Yf27ix+ulUh96DtJ/86urybpwJsz7tIKJcFS/ktf5KGSacRUKbOh9EAKtFXmR/w691wpNR+YX6ltmtfrZYDPb14p9QRQj1lITUdq5nFWph7l9pOd41BaWnGk4838h7S5njgKlk/Tbp5+V+gOofcEuOUbeG8SvHYGTHhRuyESR8EVb0LbfnokBPoPsv0bSF2qc7aP7dYdMug/lzNMdwKVO+j6cGQntE7Q6X+1MfJe3UFWVwZh2wIdGN+xEEY/4Puc6Zu1S+aCp6DnRRDeAda8A8CqUj2Kdjrs2rW0fpZWhN5c/4keiaX+BNf8T98vb3pfqs9ZFzw+as8f+sJ/wPiny9+Ht9c59MX5esT83uXapXD1u9qP7aHjGfo5qruObRzZri0U7+s4gsFVUJ4d5eH8v2lXUG0j1vogUm7ZVGb0Azy4eRCBhSU4SwsgxMe6BWMf052/iPbDg1YQ8UnaYu18FpzzeMVj1v4PfvindvN4lEpdiO2j3atxfcvve0GWdhumrdLvW/tQEFFd4Tof8yO6nweP7q379X1Rl++iTWf98JC5jRGuVcS1+Y22RAdfr+MnNrv+7+/4Tg9o/EjLKk7SDNl3NJ9rX/+FsCAHU4bVEiQvztfpbQfW6pmr3iyfrrMXLvh7VUVRUqhHyH0m6tmubfvDZ7/Rj/aDtYuo4wi48Ckd8A1qra2IiI764U2nkdq367E6PK4DD/YAGHBV9Z/hh2d1+uAtX/ve7nZp//6I22HUA9pV07a/Duj6ovPZVdt+maaV4N0rdKbH0Z16NDj8dh34bD9YyzDoOn2fPGZ2r4t1J7TrB8jZz/6znmX3tzq1M9CudDpqjwvL0z296TAE7lnlW1FdUyU3oma8R3uVFb5H0eTs17OwC47CGXdXf65WUTD8Dq0Agyt1vHf9pF0wlWUecn3VUbA/iejIwcBEIrA60RAfiRmDppa/Dmun03GP7NQDktu+1W2VYxueeErC8PolRUz8P3ixP8R5KXqPUtq1WD+3bp6rIFYgJIpIcriv3WaY/4i+VwOnaHebMwwmvep3EYyCOAncpYrfvL+G48VuPvj1iOrdS1l79Shw+0I94gtuo0fOYtP53VvmaffJoF/Btm90nvQdP5SPcnZ8q83s/lfqDueKGeX51aFx5ddJukU/fnoJXvgdTJ6uXRfewb3AEG0qb5yjMz/aDqjfhy4+rkdhHiXmmZA17Db9Jz62G9xFWq7nrFFfdppvBbFxju7Q2w+u2O4I1OfZtViPqmffoO/Nnp+tYLtFmy7aFTTkBt2ZRFqjLyubyN1uEJHs4hjhtD26WqeAerKOfNEYxdw8HdPCv+iA//hnas9EudhHajLoEW99Rtb+InMHk4u/4BvPFKbgNjXvL6LdeK0T9MjeVwou6NH01Jk6aF8fbA4d/2jrQ0Hs/kE/+7IgmhutYnCUFjM2wsq+6mFlnC38i753iaPLXWaVB4INhKnFdBK8v3wPG/Zn8/dJ/ejbvnX1Oy5+RqeZDv4V3PAZ/H6bnlDz3mT4z0itHPpfBZe+pOvx52dW9C1u+Fi7ERKt0XZMDzjrQf2wZlxWIDBUd/6zrtOuhsp0Prs8QOitPOpCeHvtGik4qt9//xQseb48GHh4k362Bej0y14TIHtf1fkTbpdOaV3hw6cd21c/f3CV/ty3L9ZZOT3G65GnLQCie+pRFOgOJ7pb+Sjz8mlww2d0nH0Bk+0/AhCfNl/fl+4X1u/zNjRR3aH/1VqpdjsPRtxZ+zHNnYPJ3J7/X0KkiLXx15fPO6iJMQ/rOM2znXUF2eroeRGExVW/3RdhcfDQTu2SKWuzrJa2/eHuldC6+S50VUYry3W45ycIbas9Axlb9ZwKT5zirYvgsxos0JPEWBAnSFZ+Mc8t2MrobtFMGODlslj/kQ7KhbevmArX/yq45F8VTzLuMZ2Kd9bv9MhWRAcDwztoBTH0JnAVaeUyaGrdR7ieVL/CLN++867jYLGlOLwzceqCx+eZc0C7Enb/oJWMJyc8fYu2jIbeqAPdhzbqkU5lF8H+1br2UPfzqEKslYkS07tiHr8zVM8MbhWt0wRBxy++/bN2w7QbUP6ZrFm4TnRQuzSkjQ6C1jYvwN+Et4PzntAptBf8vWHnkzQV1qzfXBXCqh4PMjimDrG4UreujxQS7Z/Rr4iOXXiw2XTyQKtYPcBqCYR30AOhg+ugw1D4dz+d4GB36nkeoCvwfvd3HZSvHOBvAIyCOEFWpR4jt9DFfed2L88wKCmArx4uH13f8aPutCa95js9s9u5+uGNiG5b865WDg6nlVlxY92F8x7B+TLfE4bDw7t1yQHvvO26EGadL/eQVgRZe/WIePXbWqGlb9Y/1IBgvV/bfhVN/cIcPYN573J9fJexVa8R1BpumOdbeXnSLJXSQc7Nn+lg5sBKAVR7AArBKVpBHEp6mPjEWlwfjUXreJ3CeapgBc/j5BityNffTW2Kb/1sPamt/ZDGU5JTP9ST2TZ+Ul5moznTZYxOIHm2sx70dTxTK4vxT5e7Fgf9SnsJ1v6valyzATAK4gTZclCXU6hQX2ndTK0crvkffHyrTuGM+qsetdbnT9D9Qq0gfn5Z58hfW8+Jad6dfnW+1pA2vgPEtRGRoBeQcYZaK49ZaZWf3w+JZ+lUvfyjFY/J2qtdTO0G6BTR7P26beC1VQOvHjx1gqojfQv8x5pQ1GWc/vN4IwKOIJwurSCa3ToFpxJB+j9wv2MOvb97EUZm1J7B5lnatJsPC9Kf/PKajke0BAUB+nf8++168Bnko5ZbeHsdg2sV65fLm3/NCZJyKJdOUSEVV4dbNUNPiuk1QWccrXhda/+v6llzvtcl2pUy6oETFzDRyk6qLgB4ooS1hV99pLOhUr7Q1ohnktfGT3R77wkVj/nsbj15qvi4TtG76i34/daTy8KI7a2tmdYJOpXXV3qww0kQxQyUHfR7u7eunGloeCwXUydJp8QeUrf05k6jdDrw2Hr+N06Gnd9p/33lSZjNFbdL17RKft+3cvBw6UvanesHjAVxgmw5mEOvtmE60+ZYqq5fdGg9XPy81voXPasnSO38DrqeU7+Ti5zY6N6bKR9oF5J3ql9Dc8m/9MgmspMeCX7/d52vf8kL2sLw0HaAntX66gg9AawhUgxFdM66M1Sngvra5aJ/8uXsQ4RIETZXvs5uMTQ8oXE82eV9hm1/kTHOA1S/OKkXIjoW1pi4rUQKzyTG5o7doWsz7V2mXUk1LPvqL4wFcQLkF7vYfeQ4vduG6VIIn9+vrYU2XcrTKEPawLhHdY53jwsaX8igcD2ar2nkcaK8f5VejCZheLkr6Kp39KzV9bMqzuyFciUVmdiwFk1cn5oDnAOnsNneq6zcRllcxNCw2B3kBicQRDEuZzUuw+ZA4mjtHh3/z6aWpP40gXIAY0GcENsO56EUDA+2SiaEx+sFWAJbnRpZKbUhNu1e8pSpBj2Sv3uFbovuVnH/ruO0FeWxrhqL9C10tx8kyIpDGAXhP87Kmss4+zqOOkc3tSjVExii3aOGOmMURD3Jyi8uC1D3O7pQuy3u/LGiS+VUx7PE5r4VFedRBAT5nvQV1rZutWgamrl38HsCmINVp8dhVvPzF2dl6ESKzB7X0ExyxU4NHrTSxpsIoyDqwYa0bC59ZSlhQQ5CnQ7CslL0coYhp9lfom1/2Le8vKZ+c8URRJAUskfF4Rp0A47qMqYMJ02RI4xvC9oR1e3Sphbl1KKhk0zqiVEQ9WD1Hp2+6bAJgztGItd/omvknG5c8He9aEyof1LrGgyHE6fkskb1wDbxAbCdBu6/JqLEHsIg204yVQFgFPGpglEQ9WDroRyGB+/n/QcmoVzF2p/uKfdwOhEQ3DxqANWGI4gginHaldENfsaBmxjJhh1zoNO9tR9gaBGYLKZ6ELZ3EbPVQwT8uyeB/x1ZdUKYoXnhcOKkhAccn8CTbapfbMhw0tjR65OIp36Q4ZTAKIg6opRiVNbn5DqiYOjNesWr0y320NI4817eb307rWwlun7N6ZBh1kSs7aInatlbmf/EqYRfFYSIjBeRrSKyQ0SqTJkUkUgRmSsi60VkhYj0s9p7ikiy1yNHRB7wp6y1ceDAfkayjj2dLtdLT57pvwqKhgai4wi2hg0nWEp0hpXBb7QP04XxQiKaeVzKUC/8piBExA68il5KtA8wVUT6VNrtMSBZKTUAuAF4CUAptVUpNUgpNQgYCuQDTZAnWU5KTgDnFj+PO+n2phTDUB+O7KR/8TpCbMW61LPBb/R36TLvzuDTMCZ3CuNPC2I4sEMptUspVQzMBCrnRfYBFgEopVKARBGpXPz9XGCnUqqGovF+piCLlIM57FVxdO7c8CV1DX5i1QzuO/xn2oUoMwfC34y4QxeWbAnJC4Y6488spg7APq/3aUDlWVTrgMnAUhEZDnQC4oHDXvtMAT6s7iIicjtwO0DHjn6oK19SCO9expD89nSI+DXhQU0z5d1wAjiCCFDFDDl3CuQdqn1/w4kTmVh1rW9Di8efFoSviGDlNJJngEgRSQbuBdYCrrITiAQCE4Fq58crpaYrpZKUUkkxMTEnLXQVdi6Cg8ksKu6ri/MZWg6OIFBuvcD7qPubWhqDocXhTwsiDUjweh8PHPDeQSmVA9wMIHrVnd3Ww8NFwBqllLdF0bjkaJE/O9aZG5IimkwMwwngcOrn4+l63QlTi8lgqBf+tCBWAt1FpLNlCUwB5nnvICIR1jaA24AlltLwMJUa3EuNwvEMFMJRwhjc0cwQbVF44g5vXgizb2haWQyGFojfFIRSygXcAywAtgCzlVKbROROEfGsbtEb2CQiKWhrocwPICIhwPnAJ/6SsU7kpVPgaE2p2BmY0LpJRTHUk57j4bpP9CJFJkhtMNQbv5baUErNB+ZXapvm9XoZ0L2aY/MB3yvBNCZ9JzFrdwQ9WoURZgLULYuIjvqh3Ma9ZDCcAKYWUy2UJo7hxWPFXNQvoqlFMdSX3EO66mzuYaMgDIYTwJTaqIX9W1fgKMhkcMeIphbFUF8OrtOxB3cROIyCMBjqi1EQtdBuziTudnxG3/Ym/tDi8GQxdb8Qup/ftLIYDC0QoyBqojgfhyufTNWamDBnU0tjqC+ewPSIO6DbuU0ri8HQAjEKoiaOZwCQQWsiQkyAusXhsSAyt0Px8aaVxWBogRgFUROWgsizR+B02JtYGEO98VgQX/8Bkj9oWlkMhhaIURA1kZcOQHGQWQSlRRLRCa54U7828yAMhnpj0lxrot1AXo/+A3luPxQBNPifwBBoO0C/NmmuBkO9MQqiJlp34EsZQ1iouU0tElcxrJqhXxsFYTDUG+NiqolDG2mbu5GIkMDa9zU0P0pLYPl/9GvjYjIY6o1REDXx4/M8UvhvIk0GU8vEoxSCIyGmZ9PKYjC0QOqtIETEJiLh/hCmuaHyMsgoDTcWREvFZgdbAAy9GVrHN7U0BkOLo04KQkQ+EJFwEWkFbAa2ishD/hWt6XHnZZCpwo0F0ZIpLYGDyToeYTAY6kVdLYg+1joNk9DVWTsC1/tLqGZDQRZZKpQ2rYwF0aLZ+R3kHqh9P4PBUIG6KogAEQlAK4jPlFIlVF0+9JTDVpRFNq2Mi6klM+zX+tkU6zMY6k1dFcR/gVSgFbBERDoBOTUe0dJRijWjp/ORe4xxMbVkIjvp5wCTxWQw1Jc6KQil1MtKqQ5KqYuVZg8wrrbjRGS8iGwVkR0i8oiP7ZEiMldE1ovIChHp57UtQkQ+FpEUEdkiImfW65OdLCLsChvKTtWBSGNBtFySrRVrA0KaVg6DoQVSpxlgIuIErgASKx3zZA3H2IFX0cuGpgErRWSeUmqz126PAclKqctFpJe1v6fs5kvA10qpK611qxv3H15wjDa7vyCGMFOoryWTvkk/2813aDDUl7q6mD4DLgNcwHGvR00MB3YopXYppYqBmdY5vOkDLAJQSqUAiSISZ6XRng28aW0rVkpl1VHWhiFzB+dteoQBjr2EOs1M6hZLQKumlsBgaLHUteeLV0qNr+e5OwD7vN6nASMq7bMOmAwsFZHhQCcgHnADGcBbIjIQWA3cr5SqopRE5HbgdoCOHRuwZlJhNgDK2RoRabjzGhqXjiOgKLeppTAYWiR1tSB+FpH+9Ty3r161cubTM0CkiCQD9wJr0VaKAxgC/EcpNRhtrVSJYQAopaYrpZKUUkkxMTH1FLEGCrMAkOCIhjunofHJ2gdpq5paCoOhRVKjBSEiG9CdugO4WUR2AUXozl8ppQbUcHgakOD1Ph6okIxuza242bqWALutRwiQppRabu36MdUoCL9hKQhbSESjXtbQwKhSToOMbIPBL9TmYppwEudeCXQXkc7AfmAKcK33DiISAeRbMYrbgCWW0sgRkX0i0lMptRUduN5MY7Dgj9BhaJmLKbBVZKNc1uAn7voJSl1NLYXB0CKpUUFY6ayIyBnAJqVUrvU+DB1g3lPDsS4RuQdYANiBGUqpTSJyp7V9GtAbeFdE3GgFcKvXKe4F3rcymHZhWRp+RSlY9op+/btt3PFjMK2CTXpki8aU+TYYTpi6Bqn/g44JeDjuo60KSqn56NIc3m3TvF4vA7pXc2wykFRH+RqG4jz9fP6TEBbHSnd3Lg40S40aDIbTk7oGqUUpVebIVUqVciouNpR7WD+HtoVt33BG8S+EBJ56H9NgMBjqQl0VxC4RuU9EAqzH/Wi3z6lFnqUgFj2J+vllbpNPCQ4wFoTBYDg9qauCuBMYiQ4270fPZ7jdX0I1GdHdIfEsyEmDjG3kqFYEGxeTwWA4TamT/0QplY7OQjq1CY2FUfdD6o/I8cNk05UQoyAMBsNpSl0XDIq3iuqli8hhEZkjIqfeEl2HN0FWeWJWjgoxLiaDwXDaUlcX01vAPKA9uoTG51bbqcWy1+Cbx8ve5hBigtQGg+G0pa4KIkYp9ZZSymU93gYasK5FMyHvMER3g+A2HOl+NTNcFxkXk8FgOG2pq4LIFJHrRMRuPa4DjvhTsCYh77BOcX14F1tHPM0RWhNkXEwGg+E0pa4K4hbgauCQ9bjSaju1yDusA9V56cSuf42OcthYEAaD4bSlrllMe4GJfpalaSl1w/EMCGsLi56k2/r/0UkeMQrCYDCcttQ1i6mLiHwuIhlWJtNnItLF38I1Ojd9CQOnwqH1ABxXQWYehMFgOG2pq4vpA2A20A6dyfQR8KG/hGoSbHboNBKiukL7QQAU4DRZTAaD4bSlPrWY3vPKYvofp1qR/WOpsH42FGTBRc/xZb9/s0V1Mi4mg8Fw2lJXBfG9iDwiIoki0klEHga+FJE2ItLGnwI2Gnt+hk9+DQVHISCIlPBRiIDTUddbZDAYDKcWdfWfXGM931Gp/Ra0JdHy4xEFx/RzsNZ3BcVuggPsZj1qg8Fw2lLXLKbOJ3JyERkPvIReMOgNpdQzlbZHAjOArkAhcItSaqO1LRXIBdyASynl37UhSgr0c4BeICi/xG3cSwaD4bSmRv+J5UryvL6q0rZ/1HKsHXgVuAi9+txUEelTabfHgGRrbesb0MrEm3FKqUF+Vw4ArkIQG9gDAMuCMArCYDCcxtTmYPeu4PpopW3jazl2OLBDKbXLWnN6JnBZpX36AIsAlFIpQKKIxNVyXv9QUgCOYLBcSvnFLkICTAaTwWA4falNQUg1r329r0wHYJ/X+zSrzZt1wGQAERkOdAI8VWIV8I2IrBYR/689MfJeuOXrsrf5xW6CjAVhMBhOY2obIqtqXvt6XxlfCqTyMc8AL4lIMrABWAu4rG2jlFIHRCQW+FZEUpRSS6pcRCuP2wE6duxYi0g1ENZWPywKit2EmDpMBoPhNKY2BTFQRHLQnX2w9RrrfVAtx6YBCV7v44ED3jsopXKAmwFEpwvtth4opQ5Yz+kiMhftsqqiIJRS04HpAElJSSc+N2P7t1CUA/2uAKCgxE3r4IATPp3BYDC0dGp0MSml7EqpcKVUmFLKYb32vK+t91wJdBeRziISiI5nzPPeQUQirG0AtwFLlFI5ItJKRMKsfVoBFwAbT+QD1plVb8GPL5S9NUFqg8FwuuO3KKxSyiUi9wAL0GmuM5RSm0TkTmv7NKA38K6IuIHNwK3W4XHAXGsOggP4QCn1deVrNCiuAnCUG0X5xSbN1WAwnN74NU1HKTUfmF+pbZrX62VAdx/H7QIG+lO2KpQUQkBw2dv8YpdZbtRgMJzWmDoSHipZEAUlboJNoT6DwXAaYxSEh5JCCNAKosRdSolbGReTwWA4rTFDZA/Xzy2bJFdQ4gYwCsJgMJzWGAXhIbwdAI9+soH4SB2LMFlMBoPhdMYoCA8/vQztBvLFukICrBLfJkhtMBhOZ0wMwsN3f0dtX0hesYujx4sB42IyGAynN0ZBAJSWgruIYpsT5TUX22QxGQyG0xmjIECX+gaKCKzQbCwIg8FwOmMUBJQpiAJLQXgWkTMxCIPBcDpjFASUrSZXYJWXGpwQAZgsJoPBcHpjnOwAYe3g4d3s2ZULbOT2s7uwPi2bxKhWTS2ZwWAwNBlGQQDYbBDShiyXtiS6xYYyvl+7JhbKYDAYmhajIACy9sKqGSDnABAWZNaBMBgMBhODAK0glv4byd0PQFiQ0ZsGg8FgFAToQn1ArsuB3SYme8lgMBgwCkJjxR6yS+yEOh2I+FpO22AwGE4v/KogRGS8iGwVkR0i8oiP7ZEiMldE1ovIChHpV2m7XUTWisgX/pTTk+aaVeIw7iWDwWCw8JuCEBE78CpwEdAHmCoifSrt9hiQrJQaANwAvFRp+/3AFn/JWIY1US6rxGYC1AaDwWDhTwtiOLBDKbVLKVUMzAQuq7RPH2ARgFIqBUgUkTgAEYkHLgHe8KOMmsHXw5/S2VMSaSwIg8FgsPCngugA7PN6n2a1ebMOmAwgIsOBTkC8te1F4GGgtKaLiMjtIrJKRFZlZGScmKQi4HCSU1RKuFEQBoPBAPhXQfiK9KpK758BIkUkGbgXWAu4RGQCkK6UWl3bRZRS05VSSUqppJiYmBOTdOvXMP8h8gqLjYvJYDAYLPw5XE4DErzexwMHvHdQSuUANwOITh3abT2mABNF5GIgCAgXkf8ppa7zi6T7foFVM8jlfONiMhgMBgt/WhArge4i0llEAtGd/jzvHUQkwtoGcBuwRCmVo5R6VCkVr5RKtI77zm/KAaCkEBUQQm6hyygIg8FgsPBbb6iUconIPcACwA7MUEptEpE7re3TgN7AuyLiBjYDt/pLnhpxFYAjCHepMi4mg8FgsPDrcFkpNR+YX6ltmtfrZUD3Ws6xGFjsB/HKKSmk1O4ETJkNg8Fg8GBmUlu4HLq0d6jTKAiDwWAAoyA0k//L5klfAxBuXEwGg8EAGAVRRm6hCzAuJoPBYPBgekOA7/9BzJFSYLAJUhsMBoOFURAAW78ivDQSrSDMLTEYDAYwLiaNq5Ai9HSMViZIbTAYDIBREJqSQoqt+XpBAeaWGAwGAxgFoXEVUIQTEQi0m1tiMBgMYBSExhlOni0Mp8NmVpMzGAwGC6MgAO5bw7ft7sDpMGtRGwwGgwejICyKXG6cDnM7DAaDwYPpES0KS0oJCjAWhMFgMHgwCsLCWBAGg8FQEdMjWhSWlOI0Ka4Gg8FQhukRLYpcboJMkNpgMBjK8KuCEJHxIrJVRHaIyCM+tkeKyFwRWS8iK0Skn9UeZL1fJyKbROSv/pQToMhYEAaDwVABv/WIImIHXgUuAvoAU0WkT6XdHgOSlVIDgBuAl6z2IuAcpdRAYBAwXkTO8JesAIXGgjAYDIYK+HPIPBzYoZTapZQqBmYCl1Xapw+wCEAplQIkikic0uRZ+wRYD+VHWY0FYTAYDJXwZ4/YAdjn9T7NavNmHTAZQESGA52AeOu9XUSSgXTgW6XUcj/KSpGr1EyUMxgMBi/8qSB81ayobAU8A0RaiuBeYC3gAlBKuZVSg9AKY7gnPlHlIiK3i8gqEVmVkZFxwsIWlrhNoT6DwWDwwp89YhqQ4PU+HjjgvYNSKkcpdbOlCG4AYoDdlfbJAhYD431dRCk1XSmVpJRKiomJOWFhjQVhMBgMFfGnglgJdBeRziISCEwB5nnvICIR1jaA24AlSqkcEYkRkQhrn2DgPCDFj7JSWGImyhkMBoM3flsdRynlEpF7gAWAHZihlNokInda26cBvYF3RcQNbAZutQ5vB7xjZULZgNlKqS/8KKu2IEypDYPBYCjDr8unKaXmA/MrtU3zer0M6O7juPXAYH/K5k2xuxTAWBAGg8HghVlfE11mA4yCMBhaIiUlJaSlpVFYWNjUojRrgoKCiI+PJyAgoM7HGAWBLrMBmGquBkMLJC0tjbCwMBITE82CX9WglOLIkSOkpaXRuXPnOh9nhszoSXJgLAiDoSVSWFhIVFSUUQ41ICJERUXV28oyPSLGgjAYWjpGOdTOidwjoyAwMQiDwXByZGVl8dprr9X7uIsvvpisrKwa93n88cdZuHDhCUp2cpgekXILwqS5GgyGE6E6BeF2u2s8bv78+URERNS4z5NPPsl55513MuKdMEZBUB6DCDIWhMFgOAEeeeQRdu7cyaBBgxg2bBjjxo3j2muvpX///gBMmjSJoUOH0rdvX6ZPn152XGJiIpmZmaSmptK7d29+/etf07dvXy644AIKCgoAuOmmm/j444/L9n/iiScYMmQI/fv3JyVFzx/OyMjg/PPPZ8iQIdxxxx106tSJzMzMk/5cJosJXWYDjAVhMLR0/vr5JjYfyGnQc/ZpH84Tl/atcZ9nnnmGjRs3kpyczOLFi7nkkkvYuHFjWcbQjBkzaNOmDQUFBQwbNowrrriCqKioCufYvn07H374Ia+//jpXX301c+bM4brrrqtyrejoaNasWcNrr73G888/zxtvvMFf//pXzjnnHB599FG+/vrrCkroZDBDZnSZDTAxCIPB0DAMHz68Qjrpyy+/zMCBAznjjDPYt28f27dvr3JM586dGTRoEABDhw4lNTXV57knT55cZZ+lS5cyZcoUAMaPH09kZGSDfA5jQVBuQZgsJoOhZVPbSL+xaNWqVdnrxYsXs3DhQpYtW0ZISAhjx471mW7qdDrLXtvt9jIXU3X72e12XC4XoOc5+AMzZMZYEAaD4eQICwsjNzfX57bs7GwiIyMJCQkhJSWFX375pcGvP3r0aGbPng3AN998w7FjxxrkvMaCwCsGYRSEwWA4AaKiohg1ahT9+vUjODiYuLi4sm3jx49n2rRpDBgwgJ49e3LGGQ2/evITTzzB1KlTmTVrFmPGjKFdu3aEhYWd9HnFX6ZJU5CUlKRWrVpV7+OmL9nJP+ansOmvF9LKaXSmwdCS2LJlC717925qMZqUoqIi7HY7DoeDZcuWcdddd5GcnFxlP1/3SkRWK6WSfJ3X9IaYiXIGg6Fls3fvXq6++mpKS0sJDAzk9ddfb5DzGgWBnijnsAkOu1EQBoOh5dG9e3fWrl3b4Oc1PSLagjDWg8FgMFTEr72iiIwXka0iskNEHvGxPVJE5orIehFZISL9rPYEEfleRLaIyCYRud+fcha53GaSnMFgMFTCbwrCWi70VeAioA8wVUT6VNrtMSBZKTUAuAF4yWp3Ab9TSvUGzgDu9nFsg1FUUmrKbBgMBkMl/NkrDgd2KKV2KaWKgZnAZZX26QMsAlBKpQCJIhKnlDqolFpjtecCW4AO/hK00KxHbTAYDFXwp4LoAOzzep9G1U5+HTAZQESGA52AeO8dRCQRvT71cl8XEZHbRWSViKzKyMg4IUGLStwmBmEwGE6IsWPHsmDBggptL774IhdffDH9+vUDYNWqVdx33301nic5OZn58+eXvZ83bx7PPPNMwwtcD/zZK/panaLypItngEgRSQbuBdai3Uv6BCKhwBzgAaWUzwpcSqnpSqkkpVRSTEzMCQlaZCwIg8FwgkydOpWZM2dWaJs5cyaPPvpo2fukpCRefvnlGs9TWUFMnDiRRx6pErptVPypINKABK/38cAB7x2UUjlKqZuVUoPQMYgYYDeAiASglcP7SqlP/CgnhcaCMBgMJ8iVV17JF198QVFREQCpqakcOHCA+PhyZ8jixYuZMGECACtWrGDkyJEMHjyYkSNHsnXrVoqLi3n88ceZNWsWgwYNYtasWbz99tvcc889AOzZs4dzzz2XAQMGcO6557J3715AlwK/7777GDlyJF26dCkrC95Q+HMexEqgu4h0BvYDU4BrvXcQkQgg34pR3AYsUUrliF4b701gi1LqBT/KCGgLIjw4wN+XMRgMjcFbl1Rt6zsJhv8aivPh/auqbh90LQz+FRw/ArNvqLjt5i9rvFxUVBTDhw/n66+/5rLLLmPmzJlcc8011S7x2atXL5YsWYLD4WDhwoU89thjzJkzhyeffJJVq1bxyiuvAPD222+XHXPPPfdwww03cOONNzJjxgzuu+8+Pv30UwAOHjzI0qVLSUlJYeLEiVx55ZU1ylsf/KYglFIuEbkHWADYgRlKqU0icqe1fRrQG3hXRNzAZuBW6/BRwPXABsv9BPCYUmo+fqCwxE1MmLP2HQ0Gg8EHHjeTR0HMmDGj2n2zs7O58cYb2b59OyJCSUlJredftmwZn3yiHSnXX389Dz/8cNm2SZMmYbPZ6NOnD4cPHz75D+OFX2dSWx36/Ept07xeLwO6+zhuKb5jGH6h2GUmyhkMpww1jfgDQ2re3iqqVovBF5MmTeLBBx9kzZo1FBQUMGTIkGrXc/jzn//MuHHjmDt3LqmpqYwdO7be1/O2TrzLhDd0bT3TK6JdTGYtCIPBcKKEhoYyduxYbrnlFqZOnVrjvtnZ2XTooBM6vd1INZUMHzlyZFkg/P3332f06NENI3gtGAWBCVIbDIaTZ+rUqaxbt65sZbfqePjhh3n00UcZNWoUbre7rH3cuHFs3ry5LEjtzcsvv8xbb73FgAEDeO+993jppZcqn9YvmHLfQL8nFnB1UgKPX+q3ydoGg8FPmHLfdae+5b7NsBk4r3cs/TqEN7UYBoPB0Kww5b6BF6cMbmoRDAaDodlhLAiDwWAw+MQoCIPB0OI5lWKp/uJE7pFREAaDoUUTFBTEkSNHjJKoAaUUR44cISgoqF7HmRiEwWBo0cTHx5OWlsaJVnM+XQgKCqpQH6ouGAVhMBhaNAEBAXTu3LmpxTglMS4mg8FgMPjEKAiDwWAw+MQoCIPBYDD45JQqtSEiGcCeEzw8GshsQHEaCiNX/Wmushm56oeRq/6ciGydlFI+l+M8pRTEySAiq6qrR9KUGLnqT3OVzchVP4xc9aehZTMuJoPBYDD4xCgIg8FgMPjEKIhypje1ANVg5Ko/zVU2I1f9MHLVnwaVzcQgDAaDweATY0EYDAaDwSenvYIQkfEislVEdojII00oR4KIfC8iW0Rkk4jcb7X/RUT2i0iy9bi4ieRLFZENlgyrrLY2IvKtiGy3niMbWaaeXvclWURyROSBprhnIjJDRNJFZKNXW7X3R0QetX5zW0XkwiaQ7TkRSRGR9SIyV0QirPZEESnwunfTGlmuar+7xrpn1cg1y0umVBFJttob835V10f473emlDptH4Ad2Al0AQKBdUCfJpKlHTDEeh0GbAP6AH8Bft8M7lUqEF2p7VngEev1I8A/m/i7PAR0aop7BpwNDAE21nZ/rO91HeAEOlu/QXsjy3YB4LBe/9NLtkTv/Zrgnvn87hrznvmSq9L2fwGPN8H9qq6P8Nvv7HS3IIYDO5RSu5RSxcBM4LKmEEQpdVAptcZ6nQtsATo0hSz14DLgHev1O8CkphOFc4GdSqkTnSh5UiillgBHKzVXd38uA2YqpYqUUruBHejfYqPJppT6Rinlst7+AtSvzKef5KqBRrtnNcklIgJcDXzoj2vXRA19hN9+Z6e7gugA7PN6n0Yz6JRFJBEYDCy3mu6xXAEzGtuN44UCvhGR1SJyu9UWp5Q6CPrHC8Q2kWwAU6j4p20O96y6+9Pcfne3AF95ve8sImtF5AcROasJ5PH13TWXe3YWcFgptd2rrdHvV6U+wm+/s9NdQYiPtiZN6xKRUGAO8IBSKgf4D9AVGAQcRJu3TcEopdQQ4CLgbhE5u4nkqIKIBAITgY+spuZyz6qj2fzuROSPgAt432o6CHRUSg0GHgQ+EJHwRhSpuu+uudyzqVQciDT6/fLRR1S7q4+2et2z011BpAEJXu/jgQNNJAsiEoD+4t9XSn0CoJQ6rJRyK6VKgdfxoyuiJpRSB6zndGCuJcdhEWlnyd4OSG8K2dBKa41S6rAlY7O4Z1R/f5rF705EbgQmAL9SltPackccsV6vRvutezSWTDV8d01+z0TEAUwGZnnaGvt++eoj8OPv7HRXECuB7iLS2RqFTgHmNYUglm/zTWCLUuoFr/Z2XrtdDmysfGwjyNZKRMI8r9EBzo3oe3WjtduNwGeNLZtFhVFdc7hnFtXdn3nAFBFxikhnoDuwojEFE5HxwB+AiUqpfK/2GBGxW6+7WLLtakS5qvvumvyeAecBKUqpNE9DY96v6voI/Pk7a4zoe3N+ABejswF2An9sQjlGo82/9UCy9bgYeA/YYLXPA9o1gWxd0NkQ64BNnvsERAGLgO3Wc5smkC0EOAK09mpr9HuGVlAHgRL0yO3Wmu4P8EfrN7cVuKgJZNuB9k97fmvTrH2vsL7jdcAa4NJGlqva766x7pkvuaz2t4E7K+3bmPeruj7Cb78zM5PaYDAYDD453V1MBoPBYKgGoyAMBoPB4BOjIAwGg8HgE6MgDAaDweAToyAMBoPB4BOjIAyGSojI5SKiRKRXU8tiMDQlRkEYDFWZCixFT5z0C57JVQZDc8YoCIPBC6vOzSj0pK0pVptdRJ4XvR7GehG512ofJiI/i8g6EVkhImEicpOIvOJ1vi9EZKz1Ok9EnhSR5cCZIvK4iKwUkY0iMt2aKYuIdBORhdZ514hIVxF5T0Qu8zrv+yIysbHui+H0xCgIg6Eik4CvlVLbgKMiMgS4HV1Pf7BSagDwvlWaZRZwv1JqILoMQ0Et526FXjtghFJqKfCKUmqYUqofEIyuiwS6cN6r1nlHomf1vgHcDCAira32+Q31oQ0GXxgFYTBUZCp6XRCs56nozn+astZPUEodBXoCB5VSK622HFW+vkJ1uNGF1jyME5HlIrIBOAfoa9W86qCUmmudt1Apla+U+gHoJiKxlkxz6nA9g+GkcDS1AAZDc0FEotAddT8RUehV6hSwmqplksVHG+jS2d4DryCv14VKKbd1rSDgNSBJKbVPRP5i7eurRLOH94BfoV1ft9TxYxkMJ4yxIAyGcq4E3lVKdVJKJSqlEoDd6CJsd1rlnhGRNkAK0F5EhlltYdb2VGCQiNhEJIHqS417FEemFfe4ErQlAqSJyCTrvE4RCbH2fRt4wNpvU4N9aoOhGoyCMBjKmYpe68KbOUB7YC+wXkTWAdcqvUTtNcD/WW3fojv9n9BKZQPwPFq5VEEplYVe72AD8Cm69LyH64H7RGQ98DPQ1jrmMHqZybdO8nMaDHXCVHM1GFoIliWxAb1wfXZTy2M49TEWhMHQAhCR89Burf8zysHQWBgLwmAwGAw+MRaEwWAwGHxiFITBYDAYfGIUhMFgMBh8YhSEwWAwGHxiFITBYDAYfGIUhMFgMBh88v/XGA7y5SrKawAAAABJRU5ErkJggg==\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#准确率的图\n",
    "plt.plot(range(nn.epochs),nn.eval_['train_acc'],label=\"training\")\n",
    "plt.plot(range(nn.epochs),nn.eval_['valid_acc'],label=\"Vliation\",linestyle=\"--\")\n",
    "plt.xlabel('Accuracy')\n",
    "plt.ylabel('Epochs')\n",
    "plt.legend()\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.9705\n"
     ]
    }
   ],
   "source": [
    "#计算准确率\n",
    "y_test_pre=nn.predict(X_test)\n",
    "acc=(np.sum(y_test==y_test_pre ).astype(float)/X_test.shape[0])\n",
    "print(acc)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 25 Axes>",
      "image/png": "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wYOmYQhr0aKFLlmyRNetW6cHDx7UZcuW6ZtvvqkLFiyIuMgj1e1MFw3BWUJd8l2Ryy67zKazAnn66afp27cv77zzDhs2bOCdd95h79697N27l3feeYcBAwbw4IMPprqaacsZZ5zBk08+Sbdu3QA4fPgwDz/8MPfccw/Lly8Pus+5556bxBpWLPLz86PKl5OTU841qbg0a9aMZcuW8dVXX7Fo0SLmz5/Pzp076dixIwMHDmT16tUUFhamupoVhssvv5zMzEyOHz/OP/7xj1RXpzTpFnkbNmyogLZq1UpbtWrl237dddfZSCREm1988cVSo4y7775bAa1SpYru27fP9w3ilStX6pNPPqndunUzDcOMRBo1ahSVr77xxhvq8Xj0pZdeMg0DbPz48Xr06FGdOXOmb9vYsWN17969unLlSj18+LA+/fTT5odR2v33369er1cnTJhQpv2S0pZ0FS3QLIiE1tA/gEydOtX3apghQ4aoqqrX69V33nknrRwv3TTMy8vToqIi9Xg8+rvf/U7r1KkTUSePx6OHDh3Stm3bmoZ+lpubq4cOHdLt27croNnZ2Tp48GBdv36977shl112ma5evTqszqluZyo19LczzzxTN23apF6vN+qp1tMqiNSvX183bNig48aNC/sNYAsikYPI119/rc2bN/dt/93vfqder1enTJmiGRkZaeV46aYhoNOmTfONRvLz8/W2224r9fqTEsvKytI2bdqEHIWczhqWXPT27t2r+/fv186dO+ubb76pS5cu1aZNm5bKd9NNN+mcOXNCzvGnup2p1NDf2rRp4+vj5557rgWRUE6Xn5+vXq9X165dqyNGjND+/fuXyjNu3Dj1er26Zs2alIuWTo7XsGFD9Xq92qNHj5PSGjVqpB06dCiT052OGgZaXl6eTps2TY8dOxby2+rffvutaRjGKlWqpA0aNIjqdTtNmzbVZ599Vh966CHT0IJI7KI1a9bMF0i8Xq8eP35c9+3b57OSlQnDhg1LuWgVwfHisVS3M100bNu2banRScm7sx544AFt06aNaWh+mBQN27Rpo6qatkFE3AaVO9H8pnDTpk155JFHGDJkSND0NWvWcNFFF3Hw4MGQZaj9LnPcmIbxYxrGj2no0KZNG9auXQtAp06dWLFiRdTHSYaGaRVE3HxkZWVx/fXX86Mf/YihQ4eyadMm1q5d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PVovv/zy0zOIRGOjR4/W4uJizc/P1zPPPNM6bwTLy8vTXbt2+YLIrl27ynRHk+p2pkLDxo0b6xdffOEbgVx++eWamZnpS69fv74vuIwdO1Y/++wz0zBEALnxxhtVVfXQoUM6cODAoPluuOEGPXHihFavXt00DLAnn3xS//Wvf53kn0uXLtWlS5dqfn6+bt68WZcsWaL5+fk+v9y1a5cuXbrUgkigderUyTcKGTlypF0Ao7QXXnih1DORCRMmWBAJo+Hzzz/vCyD333//SemDBg3yddbVq1froUOHTMMgAaRr16567NgxHTJkiDZq1ChovszMTJ0yZYquWbPGNAxyM7Nw4UJt0aKFdurUSevXr6+Avvfee5qfn6/r16/3+eGYMWN07Nixvs8ej0fnzZtnQSTQKR944AEtLi7Wffv26TnnnGMXwCitadOmpYLItm3btH379hZEQrR5+/bt6vF4tLCwMGj69OnTfR21sLBQ//jHP5qGAfbwww/rwYMHtUOHDmG1GTlypKqqDhgwwDQMsPfff189Ho8uXLhQ169f73uw/tZbb2leXp6ec8452qtXL+3Vq5dmZ2drq1at9OjRo+rxePTdd989aZo1KW1JtWjh7Oabb/bN7Q8fPtwugGXU76mnnlJV9V38CgoKTMMQbT5y5Ih6PB49evSoXnjhhZqVleVLq1y5sh44cMCn48yZM03DIHb48GHt06dPWF0yMzO1oKBAFy1apFWqVDENA+y7777T5cuXa8eOHfX111/XFi1aRPS1qVOnqsfj0ZdeeiklGqZctHA2d+5cLS4u1k2bNml2drZdAMuo3xlnnFFq5duxY8f02WefjXinmOp2pkLDkumsEps/f75OnTpVp06d6nugXjLvHM2ILtXtTIWGX331VVhN2rVrp2vXrlVV1X79+pmGQczj8ejdd99dpn5e4psWRAKsQ4cOvqmYESNGRL1fqp0jnTQssdmzZ+uBAwd8o7pvv/3WNAywjh076gcffFAqkASzYB3VNAweRPLy8rRly5Zau3ZtBWdEt2LFCj106FBUN4WpbmeyNXzwwQf1ww8/LDUKjmRjxozRp59+WqtUqaKVKlWyIFJi1atX17lz56qq6sKFC8t0wUy1c6SLhoF2yy23lFr2axqebJUqVdKcnBwdPXq0rly5Ut9++20dPXq0zps3zxdEVqxYEdVy6VS3MxUa7tq1S1evXq3z5s3TefPmaVFRkT7yyCN61llnKaCXXnqpqqoOGzbM+nKQ9nq9Xv3ggw+i7tOPP/64Llu2LOx3wJLSllQ7XjAr+bb14cOHddCgQRZEYtAw0AK/O2IaRm+fffZZqdFItWrVzA+DWJcuXfSNN97QZcuW6fjx40stK8/MzNSlS5dqUVGR5uTkWF8O3l5dvny5NmzYMKwunTp10pdeekmPHz8e8TlnUtqSascLtFatWumhQ4e0uLhYH3744TJ3+FQ7R6o07Nq1a8gvbt188826adMm30VQncJMwxiCyNixYzUjI8P8sIzWokULVVV99dVXrS+H0NDr9arH49EFCxZo3bp1T0o/55xzdOzYsXrs2DGdPXu2jho1Ki2+fJ20H6WKBhHhD3/4A9WrVwdg3rx5Ka5RxaBx48bMnTuXjz76iPr16/u29+vXj65du9KgQQMyMzNRVb744guuuOKKFNa2YtGpUyc6duzo+zxz5kxEhHr16rFnz54U1qxi8dxzzwEwffr0FNckffn6669p0aIFPXv2ZMaMGdx6662MGzeOVq1aAVCrVi2effZZzj33XHbs2MH+/ftTXGOXdLp7GTVqlG/KJTc3t1Tatddea3cvIdrcuHFj3xJU/xdYFhcXa0FBgc6ZM8f3/ifTsGx30Oeff36pqayNGzfqoUOHIuqZ6namk4Z5eXmqqjpjxowy7ZfqdqZCw6ysLG3RooWuXr1a9+zZ47OyLC5KtoZpNRL5+c9/DsCjjz7Ktm3byM7O5sorr2T06NEV45XIKWL79u3079+fn/3sZwDccccdLF68mNWrV/OXv/wltZU7xWjRogUvvvgiH3zwQaqrUmG44YYbAHj22WdTXJP0p7i4mE2bNnH22WenuirRk+rI6287duzQ4uJiffbZZzUvL09XrVqlhw4d0nvvvTfqZW+pvsNItYaJsFS3M500DByJLFiwoNQ7tUzDyFZQUKCHDh06aXbBNDw1+nJaiTZhwoSTfk9k0qRJaSeaOV7FtbJqUaVKFd83grdt26Z5eXmmYQxBJNxbaU3Dit2X0+rncevVq8eiRYto164dX3zxBY899hgLFiygqKgo6uOo/aRm3JiG8WMa/sCHH35I8+bNyc3NLdNxTMP4SYaGaRVEEoE5XvyYhvFjGsaPaRg/ydDQfmPdMAzDiJlkrs7aCxSU8zGal3P5qcY0jB/TMH5Mw/g5ZTRM2nSWYRiGceph01mGYRhGzFgQMQzDMGLGgohhGIYRMxZEDMMwjJixIGIYhmHEjAURwzAMI2YsiBiGYRgxY0HEMAzDiBkLIoZhGEbMWBAxDMMwYsaCiGEYhhEzFkQMwzCMmLEgYhiGYcSMBRHDMAwjZso1iIjI0yLym/I8xqmOaRg/pmH8mIbxc8pqGMUPyt8OLAeOAa8GSa8GTMT5kZVDwEd+aY2AbUDlEGXn4vygfFaY4wvwALAV+A6YAdRK1I/MA9cA64BCYC3QP9E/ZB9OQ2Aw8L2fFbmadEyght2B1cBBYB8wGzgrQW0rOb5/G/6YTA0jnccEadgN8Aa0c0iC2tbWbdsB1xYBbVOg4TDgK7dt7wGNE6lhQP5X3PytEti+kPVPUPnZwGScH5MqBFYCfQLy9ADy3X78AdA8wX5Ynn057LUo5H5RFHwl0B94PoTjvYZzYa8HZAYeEFgIXB2HaEPck9IUqAHMBaYkSLSzgONAH5xg1dcVrn6CnS+shgF5fw18jfuDYQnSsEFJh3I7whPA2wlqW5kuHuWhYTTnMQEadgO+Kae21XbrIG4fuhNYlWQNuwK7gXZAZTfPhwF54tLQL28X4CMSGESiqX8CjlEdGOO2NQO4DCeY5LrpOTg30gOBKsA44LNEaliefTnIsU66FgXNV4YCHw3ieD/BGR2EHBngjCJeCZG2ldJ3sb8Ikuct4Pd+ny8EjgLVQpS5BRiFczd6AOeOp0qIvOcDuwO27QlWjwSdlJM0DJLnA+ChRGoYkD8b+F9gbZg8ZdEw6otHeWkYzXlMgB92owxBpCwaBuyXBdwGFCVZwyeBCX6fG7uatEykH7rtWwmcQ4QgUkY/jFj/ctJyFXCV+/9w4N9+adWBI0CbRGrolz+hfTnIviddi4JZvM9EzscZ2j0sIntFZLWIXBWQZx3QPsT+F7t/a6tqDVX9VESaichBEWnmpolr+H3OBn4cpl6Dgd5AS6A1MNq3s1N2F/fjcmCdiPQTkUwR6Y8z1F8VpuxyQ0Sa42gyNSApXg0p2Ybj1L/DuYMJR7QallAgIt+IyCsikhOh7EQTzXmMW0OgvojsEpHNIvJ/IlI9Qr3KpKF7fo4C44HHI5SdaIL1M4A8v22J0PBunCnvaPtYtBpGU/+EIiIN3DqtcTe1A74sSVfVwzh38u38dqsIfTnctegk4g0iTXBO0iGcyH87MEVEfuqXpxBnuB4VqrpVVWur6lZ303xgmIjkisgZwH3u9mphinlOVbep6n7gMWCQX/m1VfVj938Pjkh/w7no/A24xT35qeBGYImqbg7YHq+Gvm04Q+7ROFOE4YhKQ5xnYT8HmgMdgZrA69HWNRFEeR7j1TAf6IAzr/3/cNr6dIRiotXQtw04A6cfrYy2rgniXeAaETlHRKoCD+LcFfv3s7g0FJGmwC1u2dESrYbR1D9hiEglHD+foqolfakGzrXQn0M4faKEdO7L/oS6Fp1EvEHkCHACeFRVj6vqhzhDoEv88tTEeQgUKy8D04HFOBH/A3f7N2H22eb3fwFOgDsJEemJE8W74cyjdgVeEpEOcdQ3Hm4EpgTZHq+GPlxHmgLMFZGsMFmj0lBVv1fV5aparKq7cC6Al4hIrUTUNxqiPI9xaaiqO1V1rap63Y51L3B1hN2i0jDgOIeBScBUEakfa33Liqq+DzwEzMSp6xacC55/P4vXD/8CPKKqgRfacETrh9HUPyGISAYwDec53O1+Sd8DgX5fy61HCWnblwMIdS06iXiDSDRD0p/iN8QLQCPt7Hbah1Q1V1Wb4ASSb10LRVO//5sB20Pk64AztF7uHmcZ8DnQM1K9Eo2IdMY5uW8FSY5LwyBkAfU52eH9iVbDUPWRsLkSSwcin8dEa6hEbmOsGmbg3EGfFUO9YkZVJ6jqj1W1Ps7FOAv4r1+WeDXsAYwTkZ0istPd9qmI/CrMPlFrGEX940ZEBGeFVgOcZyEn/JLX4DdV5U53tuSH6S6oAH05wrXoJCIGERHJEpEqOKtGMkWkil/U+wjnYdAoN19nnLvBBX5FdMWZkgrGHpxlky3CHL+uiLQUh7Y4UwiPqKo3TLVvE5EmIlIX+APwRoh8y4CLSu5YReRnwEUk+JlIBA1LGALMVNXCk0uIW8MrReQnIpIhIvVwNFzp3smEIioNReR8v7LPBJ4FFpfxbjMiETSM5jzGq2E3dy5a3GmZP+GsFAxHtBr2EpGfuc9zauGcnwM48+cJI5yG7v95bvuaAX8FnlHVA35FxKUhznx8e5yg38HddjnOMtVQRKthNPVPBM/jBILLVfVIQNpsIE9ErnJ1fhBnlZ3/dFPa9mU/wl2LTiaKJ/RjcCKkv43xS28HfAocxlkBMMAvrRHOcDLoumg3zyM44h0ELsCJlN8Dzdz01sB6nCWbBcBvI9R3Cz+sRjiIMySr5pf+PXCR3+fbcdaWFwKbgHsiaVJWi0LDKm5dewTZNxEa3gFsds/RTpwl2c0ToSHO/GpJ2Ttwnk00TIGGIc9jgjT8Lc7otwhnemA8UDNBGg7Emdf+3q3Du8A5ydQQZ55+lZ+P/C+QmUgNg+Qvy+qsSBqGrX+C9Gvu1vkopb9PMdgvT0/3XB7BmYLPrSh92f0c8loUysTdsVwQkaeAr1V1Yrkd5ORjbgGGqeqiZB2zPDEN48c0jB/TMH5OVQ3DPYyJG1W9pzzLPx0wDePHNIwf0zB+TlUN7QWMhmEYRsyU63SWYRiGcWpjIxHDMAwjZsr1mYg/IpKUIY+qJvP7CUnFNIwf0zB+TMP4OZU0tJGIYRiGETMWRAzDMIyYsSBiGIZhxEzaB5HRo0fj9XpRVXbv3k1eXrm92bnCMWrUKEaNGpXqapwWdOzYkSlTpnDuueemuirGKU6NGjXYtm0bS5YsoUaNGqmuTmQS/WqFMF+/D3zdQlBr3bq1vvjii+rxeHy2fft23bhxo3o8Hi0uLg67f7LakwoLbKvX6y2lUzALlufTTz81DaO0du3a6a5du7S4uLiUffHFF77/V61aZRpGsBYtWmh+fr7PB3fv3h1xn1S3M5UaXnjhher1evXw4cO6adOmUv15586dumfPHt+28ePHa+XKlVOmYdJWZ0XLjBkzaN++PQCzZ89m2bJlTJo0iSlTptCiRQucl2gaALfeeiu9evUCoF69enTu3DnFNTq1aNeuHQsXLiQnJ6ek4/s4++yzadSoEQBFRUWpqF6F4cYbb+TRRx/lrLOS+lLiCktGRgYXXnghAFlZziV6/PjxAPztb3+joKCArKwsn56ffvop+fn5TJgwISX1Tasg0qpVKxo2bAjABx98wK9+9SuOHz+e4lqlL5MmTWLSpEkA9OzZkwULFpyUp6CggI0bNwKwZs0a9u3bx6xZs5Jaz4rKXXfdRYMGDcjIyOD48eOsWLGCmTNnAvDkk0+muHbpT/fu3enfvz933HEHqorH42HFihX8/Oc/T3XV0ppnnnmGW2+9FYA77riDv/71r0HzffvtD7+GkZOT7B8T9SNdhm+APvHEE+rxeLSgoEA7dOhQKm3OnDnq8Xj00KFDNgQOYr/+9a9LTVkdP35cx4wZoy1btizz1EOq25lqPyyxlStXanFxsXo8Hh07dqxpWAYNe/TooXv37vVNwUydOlVbt26tl112mU1nRdDwiiuu0HfeeUe7d+8eUaPOnTvrhg0b9JxzzkmZhmkhGqBXX321Hjt2TD0ej86ePdu3PScnR++66y797rvv1OPx6Ny5c83xAqxmzZr65Zdf+gLInj17tG/fvmUOHqezhsFszpw5viDywAMPmIZRati/f389evSoejwePXDggA4YMEArVaqkgN57773q8Xh08uTJpmGcNmjQIP3uu+90zJgxKdUwbUS76aabSj34veKKK/SKK67Q+++/37f90KFD2rVrV3O8AOvTp4+v03o8Hi0sLNQpU6bolClTdOjQoZqRkWEXwCj90N9uuOEGXxApLCzUOXPmaOfOnU3DEG3u0KGDPvTQQ7pjxw71eDz6+eefa05OTqk8b7zxhno8Hn3yySdNwzgDyOHDh/XgwYOamZlpQQTQ3r17a2FhYdiVRmvXrjXHC2GjR48OuTpr0qRJOn78eG3ZsqXWqlVLs7KyTMMorGPHjvr+++/7VgUWFxdrYWGhPvjgg+aHQaxktqBkxuDMM88slV6tWjU9fvy4ejwePffcc03DGKxGjRr617/+VQ8fPqz79+/XLl26pFzDtBJt0aJFpS6AJct6S+zuu+82xwthubm5ev/99+vq1asjLvF9/fXXTcMy2EMPPaTbt2/XI0eO+DR86KGHTEM/y87OVo/Ho0VFRXr11VcHHf2ef/756vF4dPXq1ZqdnW19uYzWvXt33bZtm3o8Hv3oo4+0TZs2aaFhWonWsGFDnT17thYUFOhHH32kXbp00f/85z++jnv11VenhWgVwfGuuOIKffzxx3Xx4sXq9XpPsjfeeEPvuece07AMNnLkSN+IZPv27eaHAVbST3fs2KGLFi06ydauXeublr7rrrt0yJAhpmEUVr16db3rrrt027Ztqqr6+OOPa82aNaPaNyltSUfRWrVqpYDWqlVLly5dqh6PR7/66itt2LBhWohWERyvxCpXrqw1a9bUsWPH6rx580qNSA4fPqy33367aRjBsrOz9ZJLLtG33nrLF0TsC5sn25YtW4LesKjqSduOHTumixYtMg0jWO/evbWgoMDXZ7dt26bPPvusXn/99WkTRJL2o1SxvPp40KBBvPbaawAsXLiQSy+9NOI+aq+P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\n"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#看一下预测错误的图片\n",
    "misci_img=X_test[y_test!=y_test_pre][:25]\n",
    "correct_lab=y_test[y_test_pre!=y_test][:25]\n",
    "misci_lab=y_test_pre[y_test!=y_test_pre][:25]\n",
    "fig ,ax=plt.subplots(nrows=5,ncols=5,sharey=True,sharex=True)\n",
    "ax=ax.flatten()\n",
    "for i in range(25):\n",
    "    img=misci_img[i].reshape(28,28)\n",
    "    ax[i].imshow(img,\n",
    "                 cmap=\"gray\",\n",
    "                 interpolation=\"nearest\")\n",
    "    ax[i].set_title('%d) t:%d p:%d'%(i+1,correct_lab[i],misci_lab[i]))\n",
    "ax[0].set_xticks([])\n",
    "ax[0].set_yticks([])\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "### 训练人工神经网络\n",
    "![](picture/逻辑函数的计算.png)\n",
    "![](picture/逻辑函数的计算2.png)\n",
    "![](picture/逻辑函数的计算3.png)\n",
    "![](picture/反向传播算法.png)\n",
    "![](picture/反向传播算法2.png)\n",
    "![](picture/正向传播算法3.png)\n",
    "![](picture/反向传播算法4.png)\n",
    "![](picture/反向传播算法5.png)\n",
    "![](picture/反向传播算法6.png)\n",
    "![](picture/反向传播算法7.png)\n",
    "![](picture/反向传播算法8.png)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "### 我们揭开了常见的反向传播算法的神秘外衣，该算法是构建深度学习的众多神经网络模型的基础。在学习了反向传播算法之后，本章已经为探索更复杂的深度神经网络体系结构做好了准备。本书剩下的几个章节将介绍面向深度学习的开源系统TensorFlow，以便更有效地实现和训练多层神经网络。"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}